feat: Add home-manager config and use with module

This commit is contained in:
Jalil David Salamé Messina 2024-01-15 12:57:44 +01:00
parent c96bd537d5
commit 80587b5f82
Signed by: jalil
GPG key ID: F016B9E770737A0B
2 changed files with 579 additions and 7 deletions

View file

@ -1,5 +1,30 @@
{
"nodes": {
"audiomenu": {
"inputs": {
"flake-schemas": [
"home-config",
"flake-schemas"
],
"nixpkgs": [
"home-config",
"nixpkgs"
]
},
"locked": {
"lastModified": 1705096264,
"narHash": "sha256-asWPDSvANyK4PslRS1xPRYdBhhCdF7Ih+fnEuS5VtV0=",
"owner": "jalil-salame",
"repo": "audiomenu",
"rev": "b63cfb5a41daac4d4b11bbe611bc8017504497e2",
"type": "github"
},
"original": {
"owner": "jalil-salame",
"repo": "audiomenu",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
@ -131,6 +156,22 @@
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1673956053,
@ -146,6 +187,52 @@
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"home-config",
"nvim-config",
"neovim-nightly",
"nixpkgs"
]
},
"locked": {
"lastModified": 1704982712,
"narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "07f6395285469419cf9d078f59b5b49993198c00",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"home-config",
"nvim-config",
"neovim-nightly",
"hercules-ci-effects",
"nixpkgs"
]
},
"locked": {
"lastModified": 1701473968,
"narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-schemas": {
"locked": {
"lastModified": 1697467827,
@ -160,6 +247,60 @@
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A.tar.gz"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
@ -176,6 +317,81 @@
"type": "github"
}
},
"haumea": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1685133229,
"narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=",
"owner": "nix-community",
"repo": "haumea",
"rev": "34dd58385092a23018748b50f9b23de6266dffc2",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "v0.2.2",
"repo": "haumea",
"type": "github"
}
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"home-config",
"nvim-config",
"neovim-nightly",
"nixpkgs"
]
},
"locked": {
"lastModified": 1704029560,
"narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"type": "github"
}
},
"home-config": {
"inputs": {
"audiomenu": "audiomenu",
"flake-schemas": [
"flake-schemas"
],
"home-manager": [
"home-manager"
],
"jpassmenu": "jpassmenu",
"nixpkgs": [
"nixpkgs"
],
"nvim-config": "nvim-config",
"stylix": [
"stylix"
]
},
"locked": {
"lastModified": 1705318766,
"narHash": "sha256-CONUzHeH0GLrhBAMYhRyp6JXQmZQf3pB7+Pw6oJjeLU=",
"owner": "jalil-salame",
"repo": "home.nix",
"rev": "7d763d11f433199b16da0e2e04c7c2f3c263ad99",
"type": "github"
},
"original": {
"owner": "jalil-salame",
"repo": "home.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -195,7 +411,203 @@
"url": "https://flakehub.com/f/nix-community/home-manager/0.1.%2A.tar.gz"
}
},
"jpassmenu": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"home-config",
"nixpkgs"
]
},
"locked": {
"lastModified": 1705063658,
"narHash": "sha256-E/mAgxH0xSdSGow9wJ1rwTjigHacYWiH0iIjV9cklsk=",
"owner": "jalil-salame",
"repo": "jpassmenu",
"rev": "146257230e157e259fe77c5f871a611dd460efe3",
"type": "github"
},
"original": {
"owner": "jalil-salame",
"repo": "jpassmenu",
"type": "github"
}
},
"neovim-flake": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": [
"home-config",
"nvim-config",
"neovim-nightly",
"nixpkgs"
]
},
"locked": {
"dir": "contrib",
"lastModified": 1705165853,
"narHash": "sha256-veUGcLlTg0HlbTkrhRkOl4ofVM9TB53/NOkM/eaA4E4=",
"owner": "neovim",
"repo": "neovim",
"rev": "bab5e7fe17db67aa24115eeb44fc68905b107d9e",
"type": "github"
},
"original": {
"dir": "contrib",
"owner": "neovim",
"repo": "neovim",
"type": "github"
}
},
"neovim-nightly": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"hercules-ci-effects": "hercules-ci-effects",
"neovim-flake": "neovim-flake",
"nixpkgs": [
"home-config",
"nvim-config",
"nixpkgs"
]
},
"locked": {
"lastModified": 1705190631,
"narHash": "sha256-7L2BQ2GeBOP1j7ohAnBlY5HnBOYfr90FCh+YTRzzgbE=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "0ccb36c84816e3df5bf1f83b2cf7d4172889f3df",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"type": "github"
}
},
"nix-flake-tests": {
"locked": {
"lastModified": 1677844186,
"narHash": "sha256-ErJZ/Gs1rxh561CJeWP5bohA2IcTq1rDneu1WT6CVII=",
"owner": "antifuchs",
"repo": "nix-flake-tests",
"rev": "bbd9216bd0f6495bb961a8eb8392b7ef55c67afb",
"type": "github"
},
"original": {
"owner": "antifuchs",
"repo": "nix-flake-tests",
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"home-config",
"nvim-config",
"nixneovim",
"nixneovimplugins",
"poetry2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1688870561,
"narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "165b1650b753316aa7f1787f3005a8d2da0f5301",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nixneovim": {
"inputs": {
"flake-utils": [
"home-config",
"nvim-config",
"flake-utils"
],
"haumea": "haumea",
"home-manager": [
"home-config",
"nvim-config",
"home-manager"
],
"nix-flake-tests": "nix-flake-tests",
"nixneovimplugins": "nixneovimplugins",
"nixpkgs": [
"home-config",
"nvim-config",
"nixpkgs"
],
"nmd": "nmd",
"nmt": "nmt"
},
"locked": {
"lastModified": 1704709252,
"narHash": "sha256-s/aTgv0hGUa/ey6aOCtYRtQbV93Wt35vcrsElZpC5EQ=",
"owner": "NixNeovim",
"repo": "NixNeovim",
"rev": "b8d4b01aa7d6f500034a9bd79811b6053dc6771c",
"type": "github"
},
"original": {
"owner": "NixNeovim",
"repo": "NixNeovim",
"type": "github"
}
},
"nixneovimplugins": {
"inputs": {
"flake-utils": [
"home-config",
"nvim-config",
"nixneovim",
"flake-utils"
],
"nixpkgs": [
"home-config",
"nvim-config",
"nixneovim",
"nixpkgs"
],
"poetry2nix": "poetry2nix"
},
"locked": {
"lastModified": 1704377943,
"narHash": "sha256-qb86F6NdkKPohM9oLThYco6LZnkFqNA7CLjtEw1gh+4=",
"owner": "nixneovim",
"repo": "nixneovimplugins",
"rev": "b62b7600e5780b68aa679cb64053ee0159799593",
"type": "github"
},
"original": {
"owner": "nixneovim",
"repo": "nixneovimplugins",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1681001314,
"narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "367c0e1086a4eb4502b24d872cea2c7acdd557f4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1705133751,
"narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=",
@ -209,11 +621,104 @@
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz"
}
},
"nmd": {
"flake": false,
"locked": {
"lastModified": 1701431551,
"narHash": "sha256-5HPHG1u3koaWHG/TXHl5/YxYPYOuKc58104btrD8ypE=",
"owner": "~rycee",
"repo": "nmd",
"rev": "f18defadcc25e69e95b04493ee02682005472255",
"type": "sourcehut"
},
"original": {
"owner": "~rycee",
"repo": "nmd",
"type": "sourcehut"
}
},
"nmt": {
"flake": false,
"locked": {
"lastModified": 1694274695,
"narHash": "sha256-PufoLMSuBYkga8hTqYf/cIQzSuy2lfFj+cdKcp2nLEI=",
"owner": "jooooscha",
"repo": "nmt",
"rev": "29595267923b4a6ce766ff0d85afaa930842b88d",
"type": "github"
},
"original": {
"owner": "jooooscha",
"repo": "nmt",
"type": "github"
}
},
"nvim-config": {
"inputs": {
"flake-utils": "flake-utils_2",
"home-manager": [
"home-config",
"home-manager"
],
"neovim-nightly": "neovim-nightly",
"nixneovim": "nixneovim",
"nixpkgs": [
"home-config",
"nixpkgs"
]
},
"locked": {
"lastModified": 1705207512,
"narHash": "sha256-426tvF7u7KE7DhBX9HYtwK+mfDHaANpz2msEMfIwF4k=",
"owner": "jalil-salame",
"repo": "nvim-config",
"rev": "d276f2a33abc758bcd4dc5118126b52b744b1a32",
"type": "github"
},
"original": {
"owner": "jalil-salame",
"repo": "nvim-config",
"type": "github"
}
},
"poetry2nix": {
"inputs": {
"flake-utils": [
"home-config",
"nvim-config",
"nixneovim",
"nixneovimplugins",
"flake-utils"
],
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"home-config",
"nvim-config",
"nixneovim",
"nixneovimplugins",
"nixpkgs"
]
},
"locked": {
"lastModified": 1689849924,
"narHash": "sha256-d259Z2S7CS7Na04qQNQ6LYQILuI7cf4Rpe76qc4mz40=",
"owner": "nix-community",
"repo": "poetry2nix",
"rev": "1d7eda9336f336392d24e9602be5cb9be7ae405c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "poetry2nix",
"type": "github"
}
},
"root": {
"inputs": {
"flake-schemas": "flake-schemas",
"home-config": "home-config",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"stylix": "stylix"
}
},
@ -227,7 +732,7 @@
"base16-kitty": "base16-kitty",
"base16-tmux": "base16-tmux",
"base16-vim": "base16-vim",
"flake-compat": "flake-compat",
"flake-compat": "flake-compat_2",
"home-manager": [
"home-manager"
],
@ -247,6 +752,51 @@
"type": "tarball",
"url": "https://flakehub.com/f/danth/stylix/0.1.282.tar.gz"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",

View file

@ -10,13 +10,19 @@
inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1.*.tar.gz";
inputs.home-config.url = "github:jalil-salame/home.nix";
inputs.home-config.inputs.stylix.follows = "stylix";
inputs.home-config.inputs.nixpkgs.follows = "nixpkgs";
inputs.home-config.inputs.home-manager.follows = "home-manager";
inputs.home-config.inputs.flake-schemas.follows = "flake-schemas";
inputs.home-manager.url = "https://flakehub.com/f/nix-community/home-manager/0.1.*.tar.gz";
inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-schemas.url = "https://flakehub.com/f/DeterminateSystems/flake-schemas/*.tar.gz";
# Flake outputs that other flakes can use
outputs = { flake-schemas, nixpkgs, stylix, ... }:
outputs = { flake-schemas, nixpkgs, stylix, home-manager, home-config, ... }:
let
inherit (nixpkgs) lib;
# Helpers for producing system-specific outputs
@ -34,9 +40,25 @@
# Nix files formatter (run `nix fmt`)
formatter = forEachSupportedSystem ({ pkgs }: pkgs.nixpkgs-fmt);
nixosModules = rec {
nixosModules =
let
nixosModule = {
imports = [
(import ./nixos { inherit stylix; })
home-manager.nixosModules.home-manager
];
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [ home-config.nixosModules.nixosModule ];
# Pin nixpkgs
nix.registry.nixpkgs.flake = nixpkgs;
};
in
{
default = nixosModule;
nixosModule = import ./nixos { inherit stylix; };
inherit nixosModule;
};
};
}