about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorene <ene@sils.li>2023-02-20 08:45:56 +0100
committerene <ene@sils.li>2023-02-20 10:40:41 +0100
commit3ee8467b9a6382641543e2ac485d5c2623e9b0c4 (patch)
treec121a13230b36557eb76890a1f920cfd667efe29
parentFeat(bootstrap): Add a script for quick activation (diff)
downloadnixos-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.nix69
-rw-r--r--flake/inputs/default.nix37
-rw-r--r--flake/nixosConfigurations/default.nix78
-rw-r--r--home-manager/config/firefox/default.nix19
-rw-r--r--system/default.nix2
-rw-r--r--system/packages/default.nix10
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