From 74d4ae4ffe0b340bd006097ee4e72e41101834cc Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sat, 17 Jul 2021 15:23:13 -0600 Subject: [PATCH] [NixOS] Add nixpkgs and home-manager submodules --- .gitmodules | 6 + dotfiles/config/taffybar/taffybar | 2 +- dotfiles/config/xmonad/xmonad | 2 +- dotfiles/config/xmonad/xmonad-contrib | 2 +- nixos/essential.nix | 1 + nixos/flake.lock | 161 ++++++++++++++------------ nixos/flake.nix | 41 ++++--- nixos/home-manager | 1 + nixos/nixpkgs | 1 + nixos/rebuild.sh | 3 + 10 files changed, 128 insertions(+), 92 deletions(-) create mode 160000 nixos/home-manager create mode 160000 nixos/nixpkgs create mode 100755 nixos/rebuild.sh diff --git a/.gitmodules b/.gitmodules index 9ce48d8f..23c52361 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,9 @@ [submodule "dotfiles/xmonad/xmonad-contrib"] path = dotfiles/config/xmonad/xmonad-contrib url = ../xmonad-contrib.git +[submodule "nixos/home-manager"] + path = nixos/home-manager + url = git@github.com:IvanMalison/home-manager.git +[submodule "nixos/nixpkgs"] + path = nixos/nixpkgs + url = git@github.com:IvanMalison/nixpkgs.git diff --git a/dotfiles/config/taffybar/taffybar b/dotfiles/config/taffybar/taffybar index c971b20c..2c4bb6a4 160000 --- a/dotfiles/config/taffybar/taffybar +++ b/dotfiles/config/taffybar/taffybar @@ -1 +1 @@ -Subproject commit c971b20c484dd77995095edd3f79d1a5d989ca33 +Subproject commit 2c4bb6a4c8e3e5023f1be937ee9e091b421fffbc diff --git a/dotfiles/config/xmonad/xmonad b/dotfiles/config/xmonad/xmonad index b321489c..63bb0e76 160000 --- a/dotfiles/config/xmonad/xmonad +++ b/dotfiles/config/xmonad/xmonad @@ -1 +1 @@ -Subproject commit b321489cfcf84d72a280ff1c60718532e319aa2c +Subproject commit 63bb0e76e667f25e693e8f772187ec462e7598bd diff --git a/dotfiles/config/xmonad/xmonad-contrib b/dotfiles/config/xmonad/xmonad-contrib index ef1e37f7..23dd08c9 160000 --- a/dotfiles/config/xmonad/xmonad-contrib +++ b/dotfiles/config/xmonad/xmonad-contrib @@ -1 +1 @@ -Subproject commit ef1e37f7d8448190582e8698e8dfeecf8fbb2ec7 +Subproject commit 23dd08c984b5337c6d2f520d1822a82ea2032348 diff --git a/nixos/essential.nix b/nixos/essential.nix index e28e72df..1beafebf 100644 --- a/nixos/essential.nix +++ b/nixos/essential.nix @@ -24,6 +24,7 @@ in vlc transmission-gtk dolphin + element-desktop # Appearance hicolor-icon-theme diff --git a/nixos/flake.lock b/nixos/flake.lock index 2e907b57..1da59145 100644 --- a/nixos/flake.lock +++ b/nixos/flake.lock @@ -1,15 +1,15 @@ { "nodes": { - "gitIgnoreSource": { + "gitIgnoreNix": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1625992881, - "narHash": "sha256-eCezVMt2pyTzMFQAPgkUotoCtm2/r36v3MsCBIaaDTo=", + "lastModified": 1626413882, + "narHash": "sha256-ZHw1YVsrs7rG9jPEH0ZabbbCTdnVr48FAwK6GCQPSF4=", "owner": "IvanMalison", "repo": "gitignore.nix", - "rev": "af0dc0884813e837d5e3025daaba212792c62da0", + "rev": "a2ffb0bfd0145ca57d792a6f9f76f5c305ca29b7", "type": "github" }, "original": { @@ -19,26 +19,58 @@ "type": "github" } }, - "home-manager": { + "gitIgnoreNix_2": { "inputs": { - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1626387497, - "narHash": "sha256-b+KjkO0+wXKIpfPWrVEsaKpZusUOS005Vx3FiP1aS0A=", + "lastModified": 1626413882, + "narHash": "sha256-ZHw1YVsrs7rG9jPEH0ZabbbCTdnVr48FAwK6GCQPSF4=", "owner": "IvanMalison", - "repo": "home-manager", - "rev": "2f5b9e26bf5bc441dfc83a44d8cbbf203eddac14", + "repo": "gitignore.nix", + "rev": "a2ffb0bfd0145ca57d792a6f9f76f5c305ca29b7", "type": "github" }, "original": { "owner": "IvanMalison", - "repo": "home-manager", + "repo": "gitignore.nix", "type": "github" } }, + "gitIgnoreNix_3": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1626413882, + "narHash": "sha256-ZHw1YVsrs7rG9jPEH0ZabbbCTdnVr48FAwK6GCQPSF4=", + "owner": "IvanMalison", + "repo": "gitignore.nix", + "rev": "a2ffb0bfd0145ca57d792a6f9f76f5c305ca29b7", + "type": "github" + }, + "original": { + "owner": "IvanMalison", + "repo": "gitignore.nix", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "my_unstable" + ] + }, + "locked": { + "narHash": "sha256-OtY5KlTU1TOydDiFTjPx0lCZmfLwdWEagm0C1NROErU=", + "path": "./home-manager", + "type": "path" + }, + "original": { + "path": "./home-manager", + "type": "path" + } + }, "lowdown-src": { "flake": false, "locked": { @@ -56,10 +88,23 @@ "type": "github" } }, + "my_unstable": { + "locked": { + "narHash": "sha256-ejJE3m7ymOKpPE6NBDlWla1FitMw04hB8JAUeW9WIn8=", + "path": "./nixpkgs", + "type": "path" + }, + "original": { + "path": "./nixpkgs", + "type": "path" + } + }, "nix": { "inputs": { "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs" + "nixpkgs": [ + "my_unstable" + ] }, "locked": { "lastModified": 1626394428, @@ -93,16 +138,14 @@ }, "nixpkgs": { "locked": { - "lastModified": 1624862269, - "narHash": "sha256-JFcsh2+7QtfKdJFoPibLFPLgIW6Ycnv8Bts9a7RYme0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f77036342e2b690c61c97202bf48f2ce13acc022", - "type": "github" + "lastModified": 1626384428, + "narHash": "sha256-cllqP3lJ9DdVRD1SEOf3s7U3dWqYqGicayxwGTsq/lc=", + "path": "/nix/store/iidjm6gz3j5j9y1kvw4z43mzv33vx1qp-source", + "rev": "cb2bdbe09bfc1ec11386c524b3bbfb55e5d2f376", + "type": "path" }, "original": { "id": "nixpkgs", - "ref": "nixos-21.05-small", "type": "indirect" } }, @@ -110,55 +153,21 @@ "locked": { "lastModified": 1626384428, "narHash": "sha256-cllqP3lJ9DdVRD1SEOf3s7U3dWqYqGicayxwGTsq/lc=", - "owner": "IvanMalison", - "repo": "nixpkgs", + "path": "/nix/store/iidjm6gz3j5j9y1kvw4z43mzv33vx1qp-source", "rev": "cb2bdbe09bfc1ec11386c524b3bbfb55e5d2f376", - "type": "github" + "type": "path" }, "original": { - "owner": "IvanMalison", - "ref": "my-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs_3": { "locked": { - "narHash": "sha256-2VpqiYwgoTLYeQnNz+YbMdtGrQQkjZjEH0UqVl5vm2s=", - "path": "/home/imalison/Projects/nixpkgs", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_4": { - "locked": { - "narHash": "sha256-2VpqiYwgoTLYeQnNz+YbMdtGrQQkjZjEH0UqVl5vm2s=", - "path": "/home/imalison/Projects/nixpkgs", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_5": { - "locked": { - "narHash": "sha256-UlUBl0x3MKu9ZdVJJxmZcI2MrAeUU+RLUojqtSiRkzw=", - "path": "/home/imalison/Projects/nixpkgs", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_6": { - "locked": { - "narHash": "sha256-UlUBl0x3MKu9ZdVJJxmZcI2MrAeUU+RLUojqtSiRkzw=", - "path": "/home/imalison/Projects/nixpkgs", + "lastModified": 1626384428, + "narHash": "sha256-cllqP3lJ9DdVRD1SEOf3s7U3dWqYqGicayxwGTsq/lc=", + "path": "/nix/store/iidjm6gz3j5j9y1kvw4z43mzv33vx1qp-source", + "rev": "cb2bdbe09bfc1ec11386c524b3bbfb55e5d2f376", "type": "path" }, "original": { @@ -169,9 +178,9 @@ "root": { "inputs": { "home-manager": "home-manager", + "my_unstable": "my_unstable", "nix": "nix", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", "taffybar": "taffybar", "xmonad": "xmonad", "xmonad-contrib": "xmonad-contrib" @@ -179,11 +188,13 @@ }, "taffybar": { "inputs": { - "gitIgnoreSource": "gitIgnoreSource", - "nixpkgs": "nixpkgs_4" + "gitIgnoreNix": "gitIgnoreNix", + "nixpkgs": [ + "my_unstable" + ] }, "locked": { - "narHash": "sha256-ulmlBKbUqYhFz7CDFrZAEjP677bpwTVXkYcPBo4rzIs=", + "narHash": "sha256-r5RSu8atRAIb3Aroc7OdQeCxgfXc8wyHAitX6VPOPMI=", "path": "../dotfiles/config/taffybar/taffybar", "type": "path" }, @@ -194,10 +205,13 @@ }, "xmonad": { "inputs": { - "nixpkgs": "nixpkgs_5" + "gitIgnoreNix": "gitIgnoreNix_2", + "nixpkgs": [ + "my_unstable" + ] }, "locked": { - "narHash": "sha256-wrruQzvSPGiYrHnqql5qLjK/2Ypf4PMgGpmWvxZ7OHw=", + "narHash": "sha256-tRk4foS5QiPx/GwTSl6+lfY15d1Y3822DjDxqMHjf34=", "path": "../dotfiles/config/xmonad/xmonad", "type": "path" }, @@ -208,10 +222,13 @@ }, "xmonad-contrib": { "inputs": { - "nixpkgs": "nixpkgs_6" + "gitIgnoreNix": "gitIgnoreNix_3", + "nixpkgs": [ + "my_unstable" + ] }, "locked": { - "narHash": "sha256-U+FcJ5c1EDc1ce0gbHyhiK5XFI1e9+HTwfRqxktPJts=", + "narHash": "sha256-jbikN00AydMA542fcPuVgMcVobagwf6/Wbgj804PjYA=", "path": "../dotfiles/config/xmonad/xmonad-contrib", "type": "path" }, diff --git a/nixos/flake.nix b/nixos/flake.nix index 13f6ac00..c32cc51d 100644 --- a/nixos/flake.nix +++ b/nixos/flake.nix @@ -1,58 +1,65 @@ { inputs = { + nixos-hardware.url = github:nixos/nixos-hardware; nix = { url = github:IvanMalison/nix/master; + inputs.nixpkgs.follows = "my_unstable"; }; - nixpkgs = { - url = github:IvanMalison/nixpkgs/my-unstable; + my_unstable = { + url = path:./nixpkgs; }; - taffybar = { - url = path:../dotfiles/config/taffybar/taffybar; + home-manager = { + url = path:./home-manager; + inputs.nixpkgs.follows = "my_unstable"; }; xmonad-contrib = { url = path:../dotfiles/config/xmonad/xmonad-contrib; + inputs.nixpkgs.follows = "my_unstable"; }; xmonad = { url = path:../dotfiles/config/xmonad/xmonad; + inputs.nixpkgs.follows = "my_unstable"; }; - nixos-hardware.url = github:nixos/nixos-hardware; - home-manager = { - url = github:IvanMalison/home-manager; - inputs.nixpkgs.follows = "nixpkgs"; + taffybar = { + url = path:../dotfiles/config/taffybar/taffybar; + inputs.nixpkgs.follows = "my_unstable"; }; }; - outputs = { self, nix, nixpkgs, nixos-hardware, home-manager, taffybar, xmonad, xmonad-contrib }: + outputs = { + self, nix, my_unstable, nixos-hardware, home-manager, taffybar, xmonad, + xmonad-contrib + }: let forAll = ({ ... }: { nix = { extraOptions = '' experimental-features = nix-command flakes ''; - registry.nixpkgs.flake = nixpkgs; + registry.nixpkgs.flake = my_unstable; }; nixpkgs.overlays = [ - taffybar.overlay xmonad.overlay xmonad-contrib.overlay nix.overlay + nix.overlay taffybar.overlay xmonad.overlay xmonad-contrib.overlay ]; imports = [ home-manager.nixosModule ]; }); piHardware = ({ ... }: { - imports = [ - nixos-hardware.nixosModules.raspberry-pi-4 - ]; + imports = [ + nixos-hardware.nixosModules.raspberry-pi-4 + ]; }); in { nixosConfigurations = { - ivanm-dfinity-razer = nixpkgs.lib.nixosSystem { + ivanm-dfinity-razer = my_unstable.lib.nixosSystem { system = "x86_64-linux"; modules = [ forAll ./machines/ivanm-dfinity-razer.nix ]; }; - ryzen-shine = nixpkgs.lib.nixosSystem { + ryzen-shine = my_unstable.lib.nixosSystem { system = "x86_64-linux"; modules = [ forAll ./machines/ryzen-shine.nix ]; }; - biskcomp = nixpkgs.lib.nixosSystem { + biskcomp = my_unstable.lib.nixosSystem { system = "aarch64-linux"; modules = [ forAll piHardware ./machines/biskcomp.nix ]; }; diff --git a/nixos/home-manager b/nixos/home-manager new file mode 160000 index 00000000..88c5bb85 --- /dev/null +++ b/nixos/home-manager @@ -0,0 +1 @@ +Subproject commit 88c5bb85a32d66f1ac50835cf36de7a567549d18 diff --git a/nixos/nixpkgs b/nixos/nixpkgs new file mode 160000 index 00000000..71e3cbe2 --- /dev/null +++ b/nixos/nixpkgs @@ -0,0 +1 @@ +Subproject commit 71e3cbe2e975752eae72a1023f705bb5ad7dbb54 diff --git a/nixos/rebuild.sh b/nixos/rebuild.sh new file mode 100755 index 00000000..bd2a9943 --- /dev/null +++ b/nixos/rebuild.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env sh +nix flake update --impure --inputs-from . +sudo nixos-rebuild switch --flake '.#' --impure