Compare commits

..

3 Commits

Author SHA1 Message Date
Giulio De Pasquale
4bc41031ef Removed stateVersion from common home role 2022-10-14 00:42:40 +02:00
Giulio De Pasquale
334a606f11 Created mkHMUser function in lib 2022-10-14 00:41:18 +02:00
Giulio De Pasquale
45935b999e Decouple system from flake 2022-10-13 19:05:31 +02:00
5 changed files with 55 additions and 35 deletions

View File

@ -12,38 +12,44 @@
outputs =
inputs@{ self, nixpkgs, nixos-unstable, home-manager, vim-extra-plugins }:
let
system = "x86_64-linux";
x64System = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
overlays = [
(final: prev: { inherit unstable; })
vim-extra-plugins.overlays.default
];
wrapPkgsSystem = { system }:
import nixpkgs rec {
inherit system;
unstable = wrapUnstablePkgsSystem { inherit system; };
config.allowUnfree = true;
overlays = [
(final: prev: { inherit unstable; })
vim-extra-plugins.overlays.default
];
};
wrapUnstablePkgsSystem = { system }:
import nixos-unstable {
inherit system;
config.allowUnfree = true;
};
pkgsX64 = wrapPkgsSystem { system = x64System; };
unstableX64 = wrapPkgsSystem { system = x64System; };
utilsX64 = import ./lib {
inherit nixpkgs nixos-unstable home-manager;
pkgs = pkgsX64;
unstable = unstableX64;
system = x64System;
};
unstable = import nixos-unstable {
inherit system;
config.allowUnfree = true;
};
utils = import ./lib {
inherit pkgs unstable nixpkgs nixos-unstable home-manager;
};
inherit (utils) host;
inherit (utils) user;
in {
nixosConfigurations = {
architect = host.mkHost {
architect = utilsX64.host.mkHost {
name = "architect";
users = [{
user = "giulio";
roles = [ ];
}];
};
gAluminum = host.mkHost {
gAluminum = utilsX64.host.mkHost {
name = "gAluminum";
users = [{
user = "giulio";
@ -51,7 +57,7 @@
}];
roles = [ "gnome" ];
};
proxy = host.mkHost {
proxy = utilsX64.host.mkHost {
name = "proxy";
users = [ ];
};

View File

@ -1,6 +1,6 @@
{ pkgs, unstable, nixpkgs, nixos-unstable, home-manager, ... }: rec {
user = import ./user.nix { inherit pkgs unstable; };
{ pkgs, unstable, nixpkgs, nixos-unstable, home-manager, system, ... }: rec {
user = import ./user.nix { inherit pkgs unstable system home-manager; };
host = import ./host.nix {
inherit pkgs nixpkgs unstable nixos-unstable home-manager user;
inherit pkgs nixpkgs unstable nixos-unstable home-manager user system;
};
}

View File

@ -1,10 +1,8 @@
{ pkgs, nixpkgs, nixos-unstable, unstable, home-manager, user, ... }:
{ pkgs, nixpkgs, nixos-unstable, unstable, home-manager, user, system, ... }:
{
mkHost = { name, users, roles ? [ ], imports ? [ ] }:
let
system = "x86_64-linux";
mkRole = role: import (../roles + "/${role}.nix");
users_mod = (map (u:

View File

@ -1,4 +1,4 @@
{ pkgs, unstable, ... }:
{ pkgs, unstable, home-manager, ... }:
{
mkUser = { name, roles ? [ ] }:
@ -20,7 +20,25 @@
extraGroups = [ "wheel" "plugdev" ];
};
home-manager.users.${name}.imports = [ (mkRole "common") ]
++ roles_mod;
home-manager.users.${name}.imports = [ (mkRole "common") ] ++ roles_mod;
};
mkHMUser = { name, roles }:
let
mkRole = role: import (../roles/home + "/${role}.nix");
roles_mod = (map (r: mkRole r) roles);
in home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
{
home = {
username = name;
homeDirectory =
if pkgs.stdenv.isLinux then "/home/${name}" else "/Users/${name}";
stateVersion = "22.05";
};
}
(mkRole "common")
] ++ roles_mod;
};
}

View File

@ -3,9 +3,7 @@
{
imports = [ ./zsh.nix ./git.nix ];
home = {
stateVersion = "21.05";
sessionVariables = {
EDITOR = "nvim";
VISUAL = "nvim";