Compare commits
3 Commits
73844fcf66
...
4bc41031ef
Author | SHA1 | Date | |
---|---|---|---|
|
4bc41031ef | ||
|
334a606f11 | ||
|
45935b999e |
52
flake.nix
52
flake.nix
@ -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 = [ ];
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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:
|
||||
|
26
lib/user.nix
26
lib/user.nix
@ -1,4 +1,4 @@
|
||||
{ pkgs, unstable, ... }:
|
||||
{ pkgs, unstable, home-manager, ... }:
|
||||
|
||||
{
|
||||
mkUser = { name, roles ? [ ] }:
|
||||
@ -19,8 +19,26 @@
|
||||
shell = pkgs.zsh;
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
@ -3,9 +3,7 @@
|
||||
{
|
||||
imports = [ ./zsh.nix ./git.nix ];
|
||||
|
||||
|
||||
home = {
|
||||
stateVersion = "21.05";
|
||||
sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
|
Loading…
Reference in New Issue
Block a user