From 12ec03df1626c7d09543d76f685f068d9be084c1 Mon Sep 17 00:00:00 2001 From: Joey Hafner Date: Mon, 6 Jan 2025 13:15:05 -0800 Subject: [PATCH] Update flake: - Pin Stylix to release-24.11 branch - Add vars.repo for information about the flake repo. - Refactor "vars.desktop" with a system-specific "sysVars" attrset. - Move "{home-manager|nixos}/{laptop|desktop}" to "{laptop|desktop}/{home-manager|nixos}". --- dotfiles/flake.lock | 105 +++++++++++++++++++++++++++++++++----------- dotfiles/flake.nix | 103 ++++++++++++++++++++++++------------------- 2 files changed, 139 insertions(+), 69 deletions(-) diff --git a/dotfiles/flake.lock b/dotfiles/flake.lock index 8b0f9722..4e5638b0 100644 --- a/dotfiles/flake.lock +++ b/dotfiles/flake.lock @@ -261,11 +261,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735861317, - "narHash": "sha256-XpFTJoY+0nsVdIQZmJt3SMgQkYr8KI5DFQ4b5cf3LM4=", + "lastModified": 1736031329, + "narHash": "sha256-jKWHpdlWyN8fa/1MvSRX2qVf+ZBJLu8NsH7T9xK4WRo=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "b65c26966a73b0a2142d69c69c4e486c1e3f38f9", + "rev": "0306c592a7dbaa394da481ab2219b3bcd2b8b48f", "type": "github" }, "original": { @@ -274,6 +274,37 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "stylix", + "flake-compat" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "stylix", + "nixpkgs" + ], + "nixpkgs-stable": [ + "stylix", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731363552, + "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -296,6 +327,28 @@ "type": "github" } }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "stylix", + "git-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" + } + }, "gnome-shell": { "flake": false, "locked": { @@ -342,15 +395,16 @@ ] }, "locked": { - "lastModified": 1733085484, - "narHash": "sha256-dVmNuUajnU18oHzBQWZm1BQtANCHaqNuxTHZQ+GN0r8=", + "lastModified": 1733572789, + "narHash": "sha256-zjO6m5BqxXIyjrnUziAzk4+T4VleqjstNudSqWcpsHI=", "owner": "nix-community", "repo": "home-manager", - "rev": "c1fee8d4a60b89cae12b288ba9dbc608ff298163", + "rev": "c7ffc9727d115e433fd884a62dc164b587ff651d", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } @@ -431,11 +485,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1735851503, - "narHash": "sha256-r5FFHhiZZOOlzWsS06oz+7MKpjJydDXsD9N2NcKFSjE=", + "lastModified": 1736008833, + "narHash": "sha256-1Fej194tgc7Cqb1A07d9HLQ++l/+nxO+FAb536mwOSk=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "f3c49c1295126c2154ee800ceedb48b79451840c", + "rev": "b0bae15499ad57bbfeae8be958df8c022201e583", "type": "github" }, "original": { @@ -579,11 +633,11 @@ }, "nix-flatpak": { "locked": { - "lastModified": 1735500379, - "narHash": "sha256-5qmX6YYjYfVYBbsmd2XxbTi7A59YuuN9IwfXU7qFquQ=", + "lastModified": 1735913600, + "narHash": "sha256-370z+WLVnD7LrN/SvTCZxPl/XPTshS5NS2dHN4iyK6o=", "owner": "gmodena", "repo": "nix-flatpak", - "rev": "c31b6cbd11707fe2c74ad805ef085d59d75116ae", + "rev": "78ed84ff81e8d8510926e7165d508bcacef49ff1", "type": "github" }, "original": { @@ -677,11 +731,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735471104, - "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", "type": "github" }, "original": { @@ -708,11 +762,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1735669367, - "narHash": "sha256-tfYRbFhMOnYaM4ippqqid3BaLOXoFNdImrfBfCp4zn0=", + "lastModified": 1735922141, + "narHash": "sha256-vk0xwGZSlvZ/596yxOtsk4gxsIx2VemzdjiU8zhjgWw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "edf04b75c13c2ac0e54df5ec5c543e300f76f1c9", + "rev": "d29ab98cd4a70a387b8ceea3e930b3340d41ac5a", "type": "github" }, "original": { @@ -805,6 +859,7 @@ "base16-vim": "base16-vim", "flake-compat": "flake-compat_4", "flake-utils": "flake-utils_3", + "git-hooks": "git-hooks", "gnome-shell": "gnome-shell", "home-manager": "home-manager_2", "nixpkgs": [ @@ -816,17 +871,17 @@ "tinted-tmux": "tinted-tmux" }, "locked": { - "lastModified": 1735840530, - "narHash": "sha256-4O+KR6WSb40pcIPO9QboI59eH3/oxNEvCwXkFi6QvvM=", + "lastModified": 1736019457, + "narHash": "sha256-MWe3RXEV9dov1wFZraWagVAxynPo/VceStIYfNRgqG4=", "owner": "danth", "repo": "stylix", - "rev": "90f95c5d8408360fc38cb3a862565bcb08ae6aa8", + "rev": "5204b085385c0bfaa1eb1bb0f8dc81922012128d", "type": "github" }, "original": { "owner": "danth", + "ref": "release-24.11", "repo": "stylix", - "rev": "90f95c5d8408360fc38cb3a862565bcb08ae6aa8", "type": "github" } }, @@ -1004,11 +1059,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1735849099, - "narHash": "sha256-nYykv3COeYunqlha9Co+8CCigM2GtdtS7vw9xuhoO7Q=", + "lastModified": 1735971783, + "narHash": "sha256-JhV87lwIdK9S/o7CnVtomkyrilz+DEldIBEgBkVD7ag=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "b275d71ba83928121235a4e7968b9be55986fdc6", + "rev": "655b385dfefa016699e1e6baf22027b40205976e", "type": "github" }, "original": { diff --git a/dotfiles/flake.nix b/dotfiles/flake.nix index 82af4c70..594e6e85 100644 --- a/dotfiles/flake.nix +++ b/dotfiles/flake.nix @@ -1,25 +1,23 @@ { description = "Joey's Flake"; inputs = { + # Package repositories: nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; - hyprland = { - url = "github:hyprwm/Hyprland"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; home-manager = { url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; + + # Applications: + hyprland = { + url = "github:hyprwm/Hyprland"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; nixgl.url = "github:nix-community/nixGL"; nix-flatpak.url = "github:gmodena/nix-flatpak"; stylix = { - type = "github"; - owner = "danth"; - repo = "stylix"; - rev = "90f95c5d8408360fc38cb3a862565bcb08ae6aa8"; # Before breaking commit that inits ghostty - #rev = "6eb0597e345a7f4a16f7d7b14154fc151790b419"; - #url = "github:danth/stylix"; + url = "github:danth/stylix/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; zen-browser.url = "github:0xc000022070/zen-browser-flake"; @@ -40,6 +38,16 @@ }: let vars = { + repo = { + gitServerHttp = "https://gitea.jafner.tools"; + gitServerSsh = "ssh://git@gitea.jafner.tools:2225"; + owner = "Jafner"; + repoName = "Jafner.net"; + branch = "main"; + flakePath = "dotfiles/flake.nix"; + }; + flakeRepo = "$HOME/Git/Jafner.net"; + flakeDir = "$HOME/Git/Jafner.net/dotfiles"; user = { username = "joey"; realname = "Joey Hafner"; @@ -57,10 +65,6 @@ theme = "gruvbox-warm"; sshKey = "joey.laptop@jafner.net"; }; - desktop = { - hostname = "joey-desktop"; - sshKey = "joey.desktop@jafner.net"; - }; }; system = "x86_64-linux"; lib = nixpkgs.lib; @@ -76,22 +80,28 @@ }; in { nixosConfigurations = { - installer = lib.nixosSystem { + # Build nixos-installer with: + # nix build .#nixosConfigurations.nixos-installer.config.system.build.isoImage + nixos-installer = let + sysVars = { + username = "nixos-installer"; + arch = "x86_64-linux"; + }; + in lib.nixosSystem { modules = [ - ./nixos/installer/configuration.nix + "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix" + "${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix" + ./nixos-installer.nix inputs.nix-flatpak.nixosModules.nix-flatpak inputs.home-manager.nixosModules.home-manager - { - home-manager = { - users.joey = import ./home-manager/installer/home.nix; + { home-manager = { + users.nixos-installer = import ./nixos-installer.hm.nix; sharedModules = [ inputs.nix-flatpak.homeManagerModules.nix-flatpak inputs.stylix.homeManagerModules.stylix ]; - extraSpecialArgs = { inherit pkgs pkgs-unstable inputs; inherit vars; }; - }; - } - "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-base.nix" + extraSpecialArgs = { inherit pkgs pkgs-unstable inputs; inherit vars sysVars; }; + }; } ]; inherit system; specialArgs = { @@ -99,51 +109,56 @@ inherit vars; }; }; - desktop = lib.nixosSystem { + desktop = let sysVars = { + username = "joey"; + arch = "x86_64-linux"; + hostname = "joey-desktop-nixos"; + sshKey = "joey.desktop@jafner.net"; + signingKey = "B0BBF464024BCEAE"; + kernelPackage = "linux_zen"; # Read more: https://nixos.wiki/wiki/Linux_kernel; Other options: https://mynixos.com/nixpkgs/packages/linuxKernel.packages; + wallpaper = ./assets/romb-3840x2160.png; + }; in lib.nixosSystem { modules = [ - ./nixos/desktop/configuration.nix + ./desktop/nixos/configuration.nix inputs.nix-flatpak.nixosModules.nix-flatpak inputs.home-manager.nixosModules.home-manager { home-manager = { - users.joey = import ./home-manager/desktop/home.nix; + users.joey = import ./desktop/home-manager/home.nix; sharedModules = [ inputs.nix-flatpak.homeManagerModules.nix-flatpak inputs.stylix.homeManagerModules.stylix ]; - extraSpecialArgs = { inherit pkgs pkgs-unstable inputs; inherit vars; }; + extraSpecialArgs = { inherit pkgs pkgs-unstable inputs; inherit vars sysVars; }; }; } ]; inherit system; - specialArgs = { - inherit pkgs pkgs-unstable inputs; - inherit vars; - }; + specialArgs = { inherit pkgs pkgs-unstable inputs vars sysVars; }; }; - laptop = lib.nixosSystem { + desktop-refactored = let sysVars = { + username = "joey"; + arch = "x86_64-linux"; + hostname = "joey-desktop-nixos"; + sshKey = "joey.desktop@jafner.net"; + signingKey = "B0BBF464024BCEAE"; + kernelPackage = "linux_zen"; # Read more: https://nixos.wiki/wiki/Linux_kernel; Other options: https://mynixos.com/nixpkgs/packages/linuxKernel.packages; + wallpaper = ./assets/romb-3840x2160.png; + }; in lib.nixosSystem { modules = [ - ./nixos/laptop/configuration.nix - inputs.hyprland.nixosModules.default - #inputs.stylix.nixosModules.stylix + ./desktop-refactored.nix inputs.nix-flatpak.nixosModules.nix-flatpak inputs.home-manager.nixosModules.home-manager { - home-manager = { - users.joey = import ./home-manager/laptop/home.nix; - sharedModules = [ + home-manager.sharedModules = [ inputs.nix-flatpak.homeManagerModules.nix-flatpak inputs.stylix.homeManagerModules.stylix ]; - extraSpecialArgs = { inherit pkgs pkgs-unstable inputs; inherit vars; }; - }; + extraSpecialArgs = { inherit pkgs pkgs-unstable inputs; inherit vars sysVars; }; } ]; inherit system; - specialArgs = { - inherit pkgs pkgs-unstable inputs; - inherit vars; - }; + specialArgs = { inherit pkgs pkgs-unstable inputs; inherit vars sysVars; }; }; }; homeConfigurations = {