Compare commits

..

No commits in common. "facfd016619d08a277ccc58bfac96906860bee07" and "a773f945933f1589fb990fa6b1c5da9a0e172b3c" have entirely different histories.

7 changed files with 132 additions and 212 deletions

View File

@ -30,6 +30,4 @@
me.kodi.enable = true; me.kodi.enable = true;
me.lvfs.enable = true; me.lvfs.enable = true;
me.sound.enable = true; me.sound.enable = true;
me.zrepl.enable = true;
me.zsh.enable = true;
} }

View File

@ -54,9 +54,4 @@
me.sway.enable = true; me.sway.enable = true;
me.terraform.enable = true; me.terraform.enable = true;
me.vnc_client.enable = true; me.vnc_client.enable = true;
me.vscode.enable = true;
me.wasm.enable = true;
me.waybar.enable = true;
me.zrepl.enable = true;
me.zsh.enable = true;
} }

View File

@ -8,55 +8,42 @@
{ {
imports = [ ]; imports = [ ];
options.me = { config = lib.mkIf config.me.graphical {
vscode.enable = lib.mkOption { allowedUnfree = [
type = lib.types.bool; "vscode"
default = false; "vscode-with-extensions"
example = true; "vscode-extension-ms-vscode-remote-remote-ssh"
description = "Whether we want to install vscode."; ];
};
};
config = lib.mkIf config.me.vscode.enable ( environment.systemPackages = with pkgs; [
lib.mkMerge [ (vscode-with-extensions.override {
(lib.mkIf config.me.graphical { vscodeExtensions = with vscode-extensions; [
allowedUnfree = [ bbenoist.nix
"vscode" ms-python.python
"vscode-with-extensions" ms-azuretools.vscode-docker
"vscode-extension-ms-vscode-remote-remote-ssh" ms-vscode-remote.remote-ssh
]; ]
# ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
environment.systemPackages = with pkgs; [ # {
(vscode-with-extensions.override { # name = "remote-ssh-edit";
vscodeExtensions = with vscode-extensions; [ # publisher = "ms-vscode-remote";
bbenoist.nix # version = "0.47.2";
ms-python.python # sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
ms-azuretools.vscode-docker # }
ms-vscode-remote.remote-ssh # ]
] ;
# ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
# {
# name = "remote-ssh-edit";
# publisher = "ms-vscode-remote";
# version = "0.47.2";
# sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
# }
# ]
;
})
];
home-manager.users.talexander =
{ pkgs, ... }:
{
home.file.".config/Code/User/settings.json" = {
source = ./files/settings.json;
};
home.file.".config/Code/User/keybindings.json" = {
source = ./files/keybindings.json;
};
};
}) })
] ];
);
home-manager.users.talexander =
{ pkgs, ... }:
{
home.file.".config/Code/User/settings.json" = {
source = ./files/settings.json;
};
home.file.".config/Code/User/keybindings.json" = {
source = ./files/keybindings.json;
};
};
};
} }

View File

@ -8,24 +8,9 @@
{ {
imports = [ ]; imports = [ ];
options.me = { environment.systemPackages = with pkgs; [
wasm.enable = lib.mkOption { wabt
type = lib.types.bool; wasm-bindgen-cli
default = false; binaryen # for wasm-opt
example = true; ];
description = "Whether we want to install wasm.";
};
};
config = lib.mkIf config.me.wasm.enable (
lib.mkMerge [
{
environment.systemPackages = with pkgs; [
wabt
wasm-bindgen-cli
binaryen # for wasm-opt
];
}
]
);
} }

View File

@ -4,7 +4,6 @@
pkgs, pkgs,
... ...
}: }:
let let
waybar_sway_config = pkgs.writeTextFile { waybar_sway_config = pkgs.writeTextFile {
name = "waybar.conf"; name = "waybar.conf";
@ -80,52 +79,38 @@ in
{ {
imports = [ ]; imports = [ ];
options.me = { environment.systemPackages = with pkgs; [
waybar.enable = lib.mkOption { waybar
type = lib.types.bool; waybar_available_memory
default = false; waybar_battery
example = true; waybar_clock
description = "Whether we want to install waybar."; waybar_night_mode
waybar_sound
waybar_temperature
python3 # for clock TODO python should not be in the system packages, maybe switch to a venv? ref https://nixos.wiki/wiki/Python
bc # for temperature and sound
jq # for memory, battery, sound, night mode, and temperature
upower # for battery
wlsunset # for night mode
];
me.swayIncludes = [
waybar_sway_config
];
services.upower.enable = true; # for battery
home-manager.users.talexander =
{ pkgs, ... }:
{
home.file = {
".config/waybar/config" = {
source = ./files/waybar_config.json;
};
".config/waybar/style.css" = {
source = ./files/style.css;
};
};
}; };
};
config = lib.mkIf config.me.waybar.enable (
lib.mkMerge [
(lib.mkIf config.me.graphical {
environment.systemPackages = with pkgs; [
waybar
waybar_available_memory
waybar_battery
waybar_clock
waybar_night_mode
waybar_sound
waybar_temperature
python3 # for clock TODO python should not be in the system packages, maybe switch to a venv? ref https://nixos.wiki/wiki/Python
bc # for temperature and sound
jq # for memory, battery, sound, night mode, and temperature
upower # for battery
wlsunset # for night mode
];
me.swayIncludes = [
waybar_sway_config
];
services.upower.enable = true; # for battery
home-manager.users.talexander =
{ pkgs, ... }:
{
home.file = {
".config/waybar/config" = {
source = ./files/waybar_config.json;
};
".config/waybar/style.css" = {
source = ./files/style.css;
};
};
};
})
]
);
} }

View File

@ -8,53 +8,38 @@
{ {
imports = [ ]; imports = [ ];
options.me = { services.zrepl = {
zrepl.enable = lib.mkOption { enable = true;
type = lib.types.bool; settings = {
default = false; jobs = [
example = true; {
description = "Whether we want to install zrepl."; name = "snapjob";
}; type = "snap";
}; filesystems = {
"zroot/linux/nix/persist<" = true;
config = lib.mkIf config.me.zrepl.enable ( "zroot/bridge<" = true;
lib.mkMerge [ };
{ snapshotting = {
services.zrepl = { type = "periodic";
enable = true; interval = "15m";
settings = { prefix = "zrepl_";
jobs = [ };
pruning = {
keep = [
{ {
name = "snapjob"; type = "grid";
type = "snap"; grid = "1x1h(keep=all) | 24x1h | 14x1d";
filesystems = { regex = "^zrepl_.*";
"zroot/linux/nix/persist<" = true; }
"zroot/bridge<" = true; {
}; type = "regex";
snapshotting = { negate = true;
type = "periodic"; regex = "^zrepl_.*";
interval = "15m";
prefix = "zrepl_";
};
pruning = {
keep = [
{
type = "grid";
grid = "1x1h(keep=all) | 24x1h | 14x1d";
regex = "^zrepl_.*";
}
{
type = "regex";
negate = true;
regex = "^zrepl_.*";
}
];
};
} }
]; ];
}; };
}; }
} ];
] };
); };
} }

View File

@ -55,51 +55,36 @@ in
{ {
imports = [ ]; imports = [ ];
options.me = { environment.systemPackages = with pkgs; [
zsh.enable = lib.mkOption { zsh
type = lib.types.bool; ];
default = false;
example = true; users.users.talexander.shell = pkgs.zsh;
description = "Whether we want to install zsh."; environment.shells = with pkgs; [ zsh ];
};
programs.zsh = {
enable = true;
}; };
config = lib.mkIf config.me.zsh.enable ( home-manager.users.talexander =
lib.mkMerge [ { pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [ home.file.".zshrc" = {
zsh source = "${zshrc}";
]; };
};
users.users.talexander.shell = pkgs.zsh; environment.persistence."/persist" = lib.mkIf (!config.me.buildingIso) {
environment.shells = with pkgs; [ zsh ]; hideMounts = true;
users.talexander = {
programs.zsh = { directories = [
enable = true; {
}; directory = ".histdb";
user = "talexander";
home-manager.users.talexander = group = "talexander";
{ pkgs, ... }: mode = "0700";
{ }
home.file.".zshrc" = { ];
source = "${zshrc}"; };
}; };
};
environment.persistence."/persist" = lib.mkIf (!config.me.buildingIso) {
hideMounts = true;
users.talexander = {
directories = [
{
directory = ".histdb";
user = "talexander";
group = "talexander";
mode = "0700";
}
];
};
};
}
]
);
} }