aboutsummaryrefslogtreecommitdiffstats
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.zip
Feat(flake): Move the in and outputs to separate files
-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