Compare commits
5 Commits
a773f94593
...
facfd01661
Author | SHA1 | Date | |
---|---|---|---|
![]() |
facfd01661 | ||
![]() |
2ce4520cd6 | ||
![]() |
814769b3e9 | ||
![]() |
6424129da3 | ||
![]() |
415edbad91 |
@ -30,4 +30,6 @@
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
@ -54,4 +54,9 @@
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
@ -8,42 +8,55 @@
|
|||||||
{
|
{
|
||||||
imports = [ ];
|
imports = [ ];
|
||||||
|
|
||||||
config = lib.mkIf config.me.graphical {
|
options.me = {
|
||||||
allowedUnfree = [
|
vscode.enable = lib.mkOption {
|
||||||
"vscode"
|
type = lib.types.bool;
|
||||||
"vscode-with-extensions"
|
default = false;
|
||||||
"vscode-extension-ms-vscode-remote-remote-ssh"
|
example = true;
|
||||||
];
|
description = "Whether we want to install vscode.";
|
||||||
|
};
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
(vscode-with-extensions.override {
|
|
||||||
vscodeExtensions = with vscode-extensions; [
|
|
||||||
bbenoist.nix
|
|
||||||
ms-python.python
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.me.vscode.enable (
|
||||||
|
lib.mkMerge [
|
||||||
|
(lib.mkIf config.me.graphical {
|
||||||
|
allowedUnfree = [
|
||||||
|
"vscode"
|
||||||
|
"vscode-with-extensions"
|
||||||
|
"vscode-extension-ms-vscode-remote-remote-ssh"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
(vscode-with-extensions.override {
|
||||||
|
vscodeExtensions = with vscode-extensions; [
|
||||||
|
bbenoist.nix
|
||||||
|
ms-python.python
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -8,9 +8,24 @@
|
|||||||
{
|
{
|
||||||
imports = [ ];
|
imports = [ ];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
options.me = {
|
||||||
wabt
|
wasm.enable = lib.mkOption {
|
||||||
wasm-bindgen-cli
|
type = lib.types.bool;
|
||||||
binaryen # for wasm-opt
|
default = false;
|
||||||
];
|
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
|
||||||
|
];
|
||||||
|
}
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
waybar_sway_config = pkgs.writeTextFile {
|
waybar_sway_config = pkgs.writeTextFile {
|
||||||
name = "waybar.conf";
|
name = "waybar.conf";
|
||||||
@ -79,38 +80,52 @@ in
|
|||||||
{
|
{
|
||||||
imports = [ ];
|
imports = [ ];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
options.me = {
|
||||||
waybar
|
waybar.enable = lib.mkOption {
|
||||||
waybar_available_memory
|
type = lib.types.bool;
|
||||||
waybar_battery
|
default = false;
|
||||||
waybar_clock
|
example = true;
|
||||||
waybar_night_mode
|
description = "Whether we want to install waybar.";
|
||||||
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -8,38 +8,53 @@
|
|||||||
{
|
{
|
||||||
imports = [ ];
|
imports = [ ];
|
||||||
|
|
||||||
services.zrepl = {
|
options.me = {
|
||||||
enable = true;
|
zrepl.enable = lib.mkOption {
|
||||||
settings = {
|
type = lib.types.bool;
|
||||||
jobs = [
|
default = false;
|
||||||
{
|
example = true;
|
||||||
name = "snapjob";
|
description = "Whether we want to install zrepl.";
|
||||||
type = "snap";
|
};
|
||||||
filesystems = {
|
};
|
||||||
"zroot/linux/nix/persist<" = true;
|
|
||||||
"zroot/bridge<" = true;
|
config = lib.mkIf config.me.zrepl.enable (
|
||||||
};
|
lib.mkMerge [
|
||||||
snapshotting = {
|
{
|
||||||
type = "periodic";
|
services.zrepl = {
|
||||||
interval = "15m";
|
enable = true;
|
||||||
prefix = "zrepl_";
|
settings = {
|
||||||
};
|
jobs = [
|
||||||
pruning = {
|
|
||||||
keep = [
|
|
||||||
{
|
{
|
||||||
type = "grid";
|
name = "snapjob";
|
||||||
grid = "1x1h(keep=all) | 24x1h | 14x1d";
|
type = "snap";
|
||||||
regex = "^zrepl_.*";
|
filesystems = {
|
||||||
}
|
"zroot/linux/nix/persist<" = true;
|
||||||
{
|
"zroot/bridge<" = true;
|
||||||
type = "regex";
|
};
|
||||||
negate = true;
|
snapshotting = {
|
||||||
regex = "^zrepl_.*";
|
type = "periodic";
|
||||||
|
interval = "15m";
|
||||||
|
prefix = "zrepl_";
|
||||||
|
};
|
||||||
|
pruning = {
|
||||||
|
keep = [
|
||||||
|
{
|
||||||
|
type = "grid";
|
||||||
|
grid = "1x1h(keep=all) | 24x1h | 14x1d";
|
||||||
|
regex = "^zrepl_.*";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "regex";
|
||||||
|
negate = true;
|
||||||
|
regex = "^zrepl_.*";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
];
|
}
|
||||||
};
|
]
|
||||||
};
|
);
|
||||||
}
|
}
|
||||||
|
@ -55,36 +55,51 @@ in
|
|||||||
{
|
{
|
||||||
imports = [ ];
|
imports = [ ];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
options.me = {
|
||||||
zsh
|
zsh.enable = lib.mkOption {
|
||||||
];
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
users.users.talexander.shell = pkgs.zsh;
|
example = true;
|
||||||
environment.shells = with pkgs; [ zsh ];
|
description = "Whether we want to install zsh.";
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.users.talexander =
|
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
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";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.me.zsh.enable (
|
||||||
|
lib.mkMerge [
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
zsh
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users.talexander.shell = pkgs.zsh;
|
||||||
|
environment.shells = with pkgs; [ zsh ];
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.talexander =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
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";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user