summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compositor.nix10
-rw-r--r--configuration.nix5
-rw-r--r--flake.lock366
-rw-r--r--flake.nix3
4 files changed, 369 insertions, 15 deletions
diff --git a/compositor.nix b/compositor.nix
index 716caef..9805172 100644
--- a/compositor.nix
+++ b/compositor.nix
@@ -1,14 +1,18 @@
# https://wiki.nixos.org/wiki/Sway
-{ pkgs, ... }:
+{ inputs, pkgs, ... }:
{
programs.hyprland = {
enable = true;
xwayland.enable = true;
+ package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
+ portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
};
programs.hyprlock.enable = true;
environment.systemPackages = with pkgs; [
kitty # Required by Hyprland
+ rofi-wayland-unwrapped
+ rofi-rbw-wayland
];
services.gnome.gnome-keyring.enable = true;
@@ -17,8 +21,8 @@
enable = true;
settings = {
default_session = {
- command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd hyprland";
- user = "greeter";
+ command = "${pkgs.hyprland}/bin/hyprland";
+ user = "jras";
};
};
};
diff --git a/configuration.nix b/configuration.nix
index 5e0ac0c..df59de9 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -51,7 +51,10 @@
extraGroups = [ "networkmanager" "wheel" "audio" ];
shell = pkgs.zsh;
};
-
+
+ security.sudo.execWheelOnly = true;
+ security.sudo.wheelNeedsPassword = false;
+
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
diff --git a/flake.lock b/flake.lock
index 7fe97d6..065d29d 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,5 +1,38 @@
{
"nodes": {
+ "aquamarine": {
+ "inputs": {
+ "hyprutils": [
+ "hyprland",
+ "hyprutils"
+ ],
+ "hyprwayland-scanner": [
+ "hyprland",
+ "hyprwayland-scanner"
+ ],
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1730968822,
+ "narHash": "sha256-NocDjINsh6ismkhb0Xr6xPRksmhuB2WGf8ZmXMhxu7Y=",
+ "owner": "hyprwm",
+ "repo": "aquamarine",
+ "rev": "a49bc3583ff223f426cb3526fdaa4bcaa247ec14",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "aquamarine",
+ "type": "github"
+ }
+ },
"crane": {
"locked": {
"lastModified": 1727974419,
@@ -30,6 +63,22 @@
"type": "github"
}
},
+ "flake-compat": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1696426674,
+ "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
"flake-utils": {
"inputs": {
"systems": "systems"
@@ -66,6 +115,28 @@
"type": "github"
}
},
+ "gitignore": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprland",
+ "pre-commit-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
"helix": {
"inputs": {
"crane": "crane",
@@ -74,11 +145,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
- "lastModified": 1730313564,
- "narHash": "sha256-1RBs/WOH3gp2ETDruEbM2vq2tPiJmqQ3wrjiKREE5NU=",
+ "lastModified": 1730790589,
+ "narHash": "sha256-xJ6bQ4VmdTB7A+dMbmOMaZ8a6erB6rkZkB+yzqD7gd4=",
"owner": "helix-editor",
"repo": "helix",
- "rev": "38faf74febf3332fb119302324bfd21229d39e14",
+ "rev": "b53dafe326d51b7f64a1c52379e3d4150cd2991e",
"type": "github"
},
"original": {
@@ -118,8 +189,8 @@
"zen-browser": "zen-browser"
},
"locked": {
- "lastModified": 1731061943,
- "narHash": "sha256-DHw36hBaYN/T8GoFAc//tMBhs3bC8Hs1QzsDkPBXZWE=",
+ "lastModified": 1731154497,
+ "narHash": "sha256-X3SrdZTW/kptvyEKw5FXgA0lJA+/PeO9dLoky0NE22A=",
"path": "/home/jras/home-manager",
"type": "path"
},
@@ -168,6 +239,166 @@
"type": "github"
}
},
+ "hyprcursor": {
+ "inputs": {
+ "hyprlang": [
+ "hyprland",
+ "hyprlang"
+ ],
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1728669738,
+ "narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=",
+ "owner": "hyprwm",
+ "repo": "hyprcursor",
+ "rev": "0264e698149fcb857a66a53018157b41f8d97bb0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprcursor",
+ "type": "github"
+ }
+ },
+ "hyprland": {
+ "inputs": {
+ "aquamarine": "aquamarine",
+ "hyprcursor": "hyprcursor",
+ "hyprland-protocols": "hyprland-protocols",
+ "hyprlang": "hyprlang",
+ "hyprutils": "hyprutils",
+ "hyprwayland-scanner": "hyprwayland-scanner",
+ "nixpkgs": "nixpkgs_6",
+ "pre-commit-hooks": "pre-commit-hooks",
+ "systems": "systems_3",
+ "xdph": "xdph"
+ },
+ "locked": {
+ "lastModified": 1730969692,
+ "narHash": "sha256-4Ly9zkqnRB6qLjMeddfUyd4iRLvq+RDspBWABS8DGN4=",
+ "owner": "hyprwm",
+ "repo": "Hyprland",
+ "rev": "e58e97b0a38b8ccc87a4304c9e4e2b37c9966875",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "Hyprland",
+ "type": "github"
+ }
+ },
+ "hyprland-protocols": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1728345020,
+ "narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=",
+ "owner": "hyprwm",
+ "repo": "hyprland-protocols",
+ "rev": "a7c183800e74f337753de186522b9017a07a8cee",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprland-protocols",
+ "type": "github"
+ }
+ },
+ "hyprlang": {
+ "inputs": {
+ "hyprutils": [
+ "hyprland",
+ "hyprutils"
+ ],
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1728168612,
+ "narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=",
+ "owner": "hyprwm",
+ "repo": "hyprlang",
+ "rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprlang",
+ "type": "github"
+ }
+ },
+ "hyprutils": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1730968903,
+ "narHash": "sha256-zFvzLXcSm0Ia4XI1SE4FQ9KE63hlGrRWhLtwMolWuR8=",
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "rev": "3ce0cde8709cdacbfba471f8e828433b58a561e9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "type": "github"
+ }
+ },
+ "hyprwayland-scanner": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1726874836,
+ "narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=",
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "rev": "500c81a9e1a76760371049a8d99e008ea77aa59e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "type": "github"
+ }
+ },
"nixpkgs": {
"locked": {
"lastModified": 1728018373,
@@ -184,6 +415,22 @@
"type": "github"
}
},
+ "nixpkgs-stable": {
+ "locked": {
+ "lastModified": 1730741070,
+ "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-24.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
"nixpkgs_2": {
"locked": {
"lastModified": 1728018373,
@@ -250,11 +497,27 @@
},
"nixpkgs_6": {
"locked": {
- "lastModified": 1730327045,
- "narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
+ "lastModified": 1730785428,
+ "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_7": {
+ "locked": {
+ "lastModified": 1730883749,
+ "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "080166c15633801df010977d9d7474b4a6c549d7",
+ "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede",
"type": "github"
},
"original": {
@@ -264,7 +527,7 @@
"type": "github"
}
},
- "nixpkgs_7": {
+ "nixpkgs_8": {
"locked": {
"lastModified": 1727348695,
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
@@ -280,12 +543,37 @@
"type": "github"
}
},
+ "pre-commit-hooks": {
+ "inputs": {
+ "flake-compat": "flake-compat",
+ "gitignore": "gitignore",
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "nixpkgs-stable": "nixpkgs-stable"
+ },
+ "locked": {
+ "lastModified": 1730814269,
+ "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "d70155fdc00df4628446352fc58adc640cd705c2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "type": "github"
+ }
+ },
"root": {
"inputs": {
"helix": "helix",
"home-jras": "home-jras",
"home-manager": "home-manager_2",
- "nixpkgs": "nixpkgs_6",
+ "hyprland": "hyprland",
+ "nixpkgs": "nixpkgs_7",
"zen-browser": "zen-browser_2"
}
},
@@ -362,6 +650,62 @@
"type": "github"
}
},
+ "systems_3": {
+ "locked": {
+ "lastModified": 1689347949,
+ "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
+ "owner": "nix-systems",
+ "repo": "default-linux",
+ "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default-linux",
+ "type": "github"
+ }
+ },
+ "xdph": {
+ "inputs": {
+ "hyprland-protocols": [
+ "hyprland",
+ "hyprland-protocols"
+ ],
+ "hyprlang": [
+ "hyprland",
+ "hyprlang"
+ ],
+ "hyprutils": [
+ "hyprland",
+ "hyprutils"
+ ],
+ "hyprwayland-scanner": [
+ "hyprland",
+ "hyprwayland-scanner"
+ ],
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1730743262,
+ "narHash": "sha256-iTLqj3lU8kFehPm5tXpctzkD274t/k1nwSSq3qCWXeg=",
+ "owner": "hyprwm",
+ "repo": "xdg-desktop-portal-hyprland",
+ "rev": "09b23cef06fe248e61cec8862c04b9bcb62f4b6d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "xdg-desktop-portal-hyprland",
+ "type": "github"
+ }
+ },
"zen-browser": {
"inputs": {
"nixpkgs": "nixpkgs_4"
@@ -382,7 +726,7 @@
},
"zen-browser_2": {
"inputs": {
- "nixpkgs": "nixpkgs_7"
+ "nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1727721329,
diff --git a/flake.nix b/flake.nix
index 64eef2e..a4744e5 100644
--- a/flake.nix
+++ b/flake.nix
@@ -7,10 +7,13 @@
helix.url = "github:helix-editor/helix/master";
home-jras.url = "path:/home/jras/home-manager";
zen-browser.url = "github:MarceColl/zen-browser-flake";
+ hyprland.url = "github:hyprwm/Hyprland";
};
outputs = { self, nixpkgs, home-manager, home-jras, ... }@inputs: {
nixosConfigurations.tarrel = nixpkgs.lib.nixosSystem {
+ specialArgs = { inherit inputs; };
+
modules = [
./configuration.nix
./hardware-configuration.nix