aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrankie B <git@diskfloppy.me>2023-08-09 14:49:06 +0100
committerFrankie B <git@diskfloppy.me>2023-08-09 14:49:06 +0100
commitf240b64f25ff5418eb39151fa3de795b002848c4 (patch)
treeae23648a675febfc97ff538518a1d188cbf75cca
parentc48a34747e46be6baa21eb0618c3b329ebfe5887 (diff)
hyprland-ification
-rw-r--r--flake.lock125
-rw-r--r--flake.nix6
-rw-r--r--hosts/nixbox/configuration.nix48
3 files changed, 164 insertions, 15 deletions
diff --git a/flake.lock b/flake.lock
index ae54df8..0365097 100644
--- a/flake.lock
+++ b/flake.lock
@@ -589,6 +589,48 @@
"type": "github"
}
},
+ "hyprland": {
+ "inputs": {
+ "hyprland-protocols": "hyprland-protocols",
+ "nixpkgs": "nixpkgs",
+ "wlroots": "wlroots",
+ "xdph": "xdph"
+ },
+ "locked": {
+ "lastModified": 1691520628,
+ "narHash": "sha256-C2AQ8WJ3sDuaVULYPQJRuJ4XAC/uWNGQ0bhtA7FFOlw=",
+ "owner": "hyprwm",
+ "repo": "Hyprland",
+ "rev": "ec269622fcd1fd06d2db19d98593ffab8ff041cb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "Hyprland",
+ "type": "github"
+ }
+ },
+ "hyprland-protocols": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1684265364,
+ "narHash": "sha256-AxNnWbthsuNx73HDQr0eBxrcE3+yfl/WsaXZqUFmkpQ=",
+ "owner": "hyprwm",
+ "repo": "hyprland-protocols",
+ "rev": "8c279b9fb0f2b031427dc5ef4eab53f2ed835530",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprland-protocols",
+ "type": "github"
+ }
+ },
"icon-picker-nvim": {
"flake": false,
"locked": {
@@ -946,15 +988,15 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1656753965,
- "narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=",
- "owner": "nixos",
+ "lastModified": 1690179384,
+ "narHash": "sha256-+arbgqFTAtoeKtepW9wCnA0njCOyoiDFyl0Q0SBSOtE=",
+ "owner": "NixOS",
"repo": "nixpkgs",
- "rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb",
+ "rev": "b12803b6d90e2e583429bb79b859ca53c348b39a",
"type": "github"
},
"original": {
- "owner": "nixos",
+ "owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@@ -996,6 +1038,22 @@
},
"nixpkgs_2": {
"locked": {
+ "lastModified": 1656753965,
+ "narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_3": {
+ "locked": {
"lastModified": 1655400192,
"narHash": "sha256-49OBVVRgb9H/PSmNT9W61+NRdDbuSJVuDDflwXlaUKU=",
"owner": "NixOS",
@@ -1010,7 +1068,7 @@
"type": "github"
}
},
- "nixpkgs_3": {
+ "nixpkgs_4": {
"locked": {
"lastModified": 1689088367,
"narHash": "sha256-Y2tl2TlKCWEHrOeM9ivjCLlRAKH3qoPUE/emhZECU14=",
@@ -1026,7 +1084,7 @@
"type": "github"
}
},
- "nixpkgs_4": {
+ "nixpkgs_5": {
"locked": {
"lastModified": 1691368598,
"narHash": "sha256-ia7li22keBBbj02tEdqjVeLtc7ZlSBuhUk+7XTUFr14=",
@@ -1557,7 +1615,7 @@
"rnix-lsp": {
"inputs": {
"naersk": "naersk",
- "nixpkgs": "nixpkgs",
+ "nixpkgs": "nixpkgs_2",
"utils": "utils"
},
"locked": {
@@ -1578,8 +1636,9 @@
"inputs": {
"arrpc": "arrpc",
"home-manager": "home-manager",
+ "hyprland": "hyprland",
"neovim-flake": "neovim-flake",
- "nixpkgs": "nixpkgs_4",
+ "nixpkgs": "nixpkgs_5",
"nixpkgs-master": "nixpkgs-master"
}
},
@@ -1758,7 +1817,7 @@
"tidalcycles": {
"inputs": {
"dirt-samples-src": "dirt-samples-src",
- "nixpkgs": "nixpkgs_2",
+ "nixpkgs": "nixpkgs_3",
"superdirt-src": "superdirt-src",
"tidal-src": "tidal-src",
"utils": "utils_2",
@@ -2003,11 +2062,55 @@
"type": "github"
}
},
+ "wlroots": {
+ "flake": false,
+ "locked": {
+ "host": "gitlab.freedesktop.org",
+ "lastModified": 1691073628,
+ "narHash": "sha256-LlxE3o3UzRY7APYVLGNKM30DBMcDifCRIQiMVSbYLIc=",
+ "owner": "wlroots",
+ "repo": "wlroots",
+ "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5",
+ "type": "gitlab"
+ },
+ "original": {
+ "host": "gitlab.freedesktop.org",
+ "owner": "wlroots",
+ "repo": "wlroots",
+ "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5",
+ "type": "gitlab"
+ }
+ },
+ "xdph": {
+ "inputs": {
+ "hyprland-protocols": [
+ "hyprland",
+ "hyprland-protocols"
+ ],
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1691082525,
+ "narHash": "sha256-C5AO0KnyAFJaCkOn+5nJfWm0kyiPn/Awh0lKTjhgr7Y=",
+ "owner": "hyprwm",
+ "repo": "xdg-desktop-portal-hyprland",
+ "rev": "42747d267ab4345c4ceb78cd4a4fe99f072d80fc",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "xdg-desktop-portal-hyprland",
+ "type": "github"
+ }
+ },
"zig": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_2",
- "nixpkgs": "nixpkgs_3"
+ "nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1690718829,
diff --git a/flake.nix b/flake.nix
index 6f780ab..d96d4d8 100644
--- a/flake.nix
+++ b/flake.nix
@@ -23,12 +23,16 @@
url = "github:notashelf/arrpc-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
+
+ # hyprland
+ hyprland.url = "github:hyprwm/Hyprland";
};
outputs = {
self,
nixpkgs,
home-manager,
+ hyprland,
...
} @ inputs: let
inherit (self) outputs;
@@ -78,6 +82,8 @@
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
extraSpecialArgs = {inherit inputs outputs;};
modules = [
+ hyprland.homeManagerModules.default
+ {wayland.windowManager.hyprland.enable = true;}
# > Our main home-manager configuration file <
./homes/floppydisk
];
diff --git a/hosts/nixbox/configuration.nix b/hosts/nixbox/configuration.nix
index b7c7c78..d42492b 100644
--- a/hosts/nixbox/configuration.nix
+++ b/hosts/nixbox/configuration.nix
@@ -59,6 +59,13 @@
# Enable the KDE Plasma Desktop Environment.
services.xserver.desktopManager.plasma5.enable = true;
+ # Enable hyprland
+ programs.hyprland = {
+ enable = true;
+ nvidiaPatches = true;
+ xwayland.enable = true;
+ };
+
# Configure keymap in X11
services.xserver = {
layout = "us";
@@ -77,16 +84,25 @@
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
- # If you want to use JACK applications, uncomment this
- #jack.enable = true;
+ jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
- services.xserver.videoDrivers = ["nvidia" "intel"];
- hardware.opengl.driSupport32Bit = true;
+ services.xserver.videoDrivers = ["nvidia"];
+ hardware = {
+ opengl = {
+ enable = true;
+ driSupport = true;
+ driSupport32Bit = true;
+ };
+ nvidia = {
+ modesetting.enable = true;
+ nvidiaSettings = true;
+ };
+ };
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
@@ -131,12 +147,36 @@
screen
pavucontrol
paprefs
+ gcc
# Fonts
nerdfonts
jetbrains-mono
+
+ # other shit
+ dunst
+ libnotify
+ swww
+ rofi-wayland
+ networkmanagerapplet
+ grim
+ slurp
+ wl-clipboard
+ font-awesome
+ (waybar.overrideAttrs (oldAttrs: {
+ mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
+ })
+ )
];
+ environment.sessionVariables = {
+ WLR_NO_HARDWARE_CURSORS = "1";
+ NIXOS_OZONE_WL = "1";
+ };
+
+ xdg.portal.enable = true;
+ xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
+
programs.zsh.enable = true;
# Some programs need SUID wrappers, can be configured further or are