diff options
author | ene <ene@sils.li> | 2023-02-20 08:45:56 +0100 |
---|---|---|
committer | ene <ene@sils.li> | 2023-02-20 10:40:41 +0100 |
commit | 3ee8467b9a6382641543e2ac485d5c2623e9b0c4 (patch) | |
tree | c121a13230b36557eb76890a1f920cfd667efe29 | |
parent | Feat(bootstrap): Add a script for quick activation (diff) | |
download | nixos-config-3ee8467b9a6382641543e2ac485d5c2623e9b0c4.tar.gz nixos-config-3ee8467b9a6382641543e2ac485d5c2623e9b0c4.zip |
Feat(flake): Move the in and outputs to separate files
Diffstat (limited to '')
-rw-r--r-- | flake.nix | 69 | ||||
-rw-r--r-- | flake/inputs/default.nix | 37 | ||||
-rw-r--r-- | flake/nixosConfigurations/default.nix | 78 | ||||
-rw-r--r-- | home-manager/config/firefox/default.nix | 19 | ||||
-rw-r--r-- | system/default.nix | 2 | ||||
-rw-r--r-- | system/packages/default.nix | 10 |
6 files changed, 136 insertions, 79 deletions
diff --git a/flake.nix b/flake.nix index 55302f95..4509c80b 100644 --- a/flake.nix +++ b/flake.nix @@ -2,71 +2,14 @@ { description = "Nixos system config"; - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - home-manager = { - url = "github:nix-community/home-manager/master"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - agenix = { - url = "github:ryantm/agenix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - impermanence = { - url = "github:nix-community/impermanence"; - }; - - neovim_config = { - url = "git+https://codeberg.org/ene/neovim-config.git"; - flake = false; - }; - - strip_js_comments = { - url = "git+https://codeberg.org/ene/strip_js_comments.git"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - shell-library = { - url = "git+https://git.sils.li/ene/lib-sh.git"; - flake = false; - }; - user_js = { - url = "github:arkenfox/user.js"; - flake = false; - }; - snap-sync = { - url = "github:qubidt/snap-sync"; - flake = false; - }; - }; + inputs = import ./flake/inputs; - outputs = { - self, - nixpkgs, - home-manager, - neovim_config, - strip_js_comments, - user_js, - impermanence, - agenix, - snap-sync, - shell-library, - ... - } @ inputs: let - pkgs = nixpkgs.legacyPackages.x86_64-linux; - sysLib = import ./lib {inherit pkgs shell-library;}; + outputs = {self, ...} @ inputs: let + pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; + system = "x86_64-linux"; in { - nixosConfigurations.tiamat = let - system = "x86_64-linux"; - in - nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = - pkgs.lib.recursiveUpdate inputs - sysLib; - modules = [ - ./hosts/tiamat/configuration.nix - agenix.nixosModules.default + nixosConfigurations = + import ./outputs/nixosConfigurations {inherit inputs system;}; packages."${system}" = { install = import ./bootstrap/install { diff --git a/flake/inputs/default.nix b/flake/inputs/default.nix new file mode 100644 index 00000000..d3300cad --- /dev/null +++ b/flake/inputs/default.nix @@ -0,0 +1,37 @@ +{_}: { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager/master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + agenix = { + url = "github:ryantm/agenix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + impermanence = { + url = "github:nix-community/impermanence"; + }; + + neovim_config = { + url = "git+https://codeberg.org/ene/neovim-config.git"; + flake = false; + }; + + strip_js_comments = { + url = "git+https://codeberg.org/ene/strip_js_comments.git"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + shell-library = { + url = "git+https://git.sils.li/ene/lib-sh.git"; + flake = false; + }; + user_js = { + url = "github:arkenfox/user.js"; + flake = false; + }; + snap-sync = { + url = "github:qubidt/snap-sync"; + flake = false; + }; +} diff --git a/flake/nixosConfigurations/default.nix b/flake/nixosConfigurations/default.nix new file mode 100644 index 00000000..e5aa8020 --- /dev/null +++ b/flake/nixosConfigurations/default.nix @@ -0,0 +1,78 @@ +# vim: ts=2 +{ + system, + inputs, + ... +}: let + sysLib = import ../../lib { + inherit pkgs; + inherit (inputs) shell-library; + }; + lib = inputs.nixpkgs.lib.extend (_: _: { + inherit (sysLib) makeShellScriptWithLibrary; + }); + + inherit (inputs.nixpkgs.lib) nixosSystem; + + pkgs = import inputs.nixpkgs { + inherit system; + config = { + allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ + "steam" + "steam-original" + ]; + }; + }; + homeManagerConfig = { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.soispha = import ./home-manager; + extraSpecialArgs = { + inherit pkgs; + inherit + (inputs) + user_js + system + neovim_config + impermanence + snap-sync + ; + }; + }; + }; + defaultModules = [ + inputs.agenix.nixosModules.default + + inputs.home-manager.nixosModules.home-manager + homeManagerConfig + ]; +in { + # full systems + tiamat = nixosSystem { + inherit system; + specialArgs = {inherit inputs pkgs;}; + modules = + [ + ./hosts/tiamat/configuration.nix + ] + ++ defaultModules; + }; + mammun = nixosSystem { + inherit system; + specialArgs = {inherit inputs pkgs;}; + modules = + [ + ./hosts/mammun/configuration.nix + ] + ++ defaultModules; + }; + + # minimal ones + spawn = nixosSystem { + inherit system; + specialArgs = inputs; + modules = [./hosts/spawn/configuration.nix]; + }; +} diff --git a/home-manager/config/firefox/default.nix b/home-manager/config/firefox/default.nix index 3f338192..df312a6c 100644 --- a/home-manager/config/firefox/default.nix +++ b/home-manager/config/firefox/default.nix @@ -4,7 +4,6 @@ pkgs, lib, stdenv, - strip_js_comments, generate_extensions, user_js, system, @@ -14,16 +13,16 @@ user_js_override = pkgs.writeText "user.override.js" (builtins.readFile ./settings/override.js); user_js_nix = pkgs.runCommand "user.js" {} '' - mkdir $out; - cat "${user_js}/user.js" > $out/user.js; - cat "${user_js_override}" >> $out/user.js; - - "${strip_js_comments.app.${system}.default.program}" $out/user.js > $out/user_clean.js; - # echo "{" > $out/user.nix.tmp - # sed 's/user_pref(\(.*\)",\(.*\));/\1" = \2;/' $out/user_clean.js >> $out/user.nix.tmp; - # echo "}" >> $out/user.nix.tmp - # awk '!/"_user.js.parrot"/' $out/user.nix.tmp >> $out/user.nix; # delete duplicate keys + mkdir $out; + cat "${user_js}/user.js" > $out/user.js; + cat "${user_js_override}" >> $out/user.js; + # TODO look for wehre my configs gets append to, to top or the bottom of the file ''; + #"${strip_js_comments.app.${system}.default.program}" $out/user.js > $out/user_clean.js; + # echo "{" > $out/user.nix.tmp + # sed 's/user_pref(\(.*\)",\(.*\));/\1" = \2;/' $out/user_clean.js >> $out/user.nix.tmp; + # echo "}" >> $out/user.nix.tmp + # awk '!/"_user.js.parrot"/' $out/user.nix.tmp >> $out/user.nix; # delete duplicate keys extensions = builtins.map buildFirefoxXpiAddon ( lib.attrValues ( diff --git a/system/default.nix b/system/default.nix index 5285a904..f94ba34f 100644 --- a/system/default.nix +++ b/system/default.nix @@ -11,7 +11,7 @@ ./font ./impermanence ./locale - ./packages +#./packages ./sound ]; } diff --git a/system/packages/default.nix b/system/packages/default.nix index 23bd8695..a83b3187 100644 --- a/system/packages/default.nix +++ b/system/packages/default.nix @@ -13,11 +13,11 @@ # else [x]; #in { - nixpkgs.config.allowUnfreePredicate = pkg: - builtins.elem (lib.getName pkg) [ - "steam" - "steam-original" - ]; +# nixpkgs.config.allowUnfreePredicate = pkg: +# builtins.elem (lib.getName pkg) [ +# "steam" +# "steam-original" +# ]; # # environment.systemPackages = with builtins; # concatLists |