2025-07-23 19:46:26 +02:00
|
|
|
{ pkgs, config, hostName, lib, ... }: {
|
2025-07-21 23:55:59 +02:00
|
|
|
home.username = "alisceon";
|
|
|
|
|
home.homeDirectory = "/home/alisceon";
|
|
|
|
|
home.stateVersion = "24.05";
|
2025-07-23 13:12:09 +02:00
|
|
|
manual.manpages.enable = true;
|
2025-07-20 17:46:39 +02:00
|
|
|
|
2025-07-23 13:12:09 +02:00
|
|
|
programs = {
|
|
|
|
|
fish = {
|
2025-08-12 21:00:01 +02:00
|
|
|
enable = false;
|
2025-07-23 13:12:09 +02:00
|
|
|
# Disable greeting
|
|
|
|
|
interactiveShellInit = ''
|
|
|
|
|
set fish_greeting
|
|
|
|
|
'';
|
|
|
|
|
preferAbbrs = true;
|
|
|
|
|
shellAbbrs = {
|
|
|
|
|
ls = "exa";
|
|
|
|
|
ll = "exa -lah";
|
|
|
|
|
grep = "rg";
|
2025-08-08 14:42:57 +02:00
|
|
|
cat = "bat -p";
|
2025-07-23 13:12:09 +02:00
|
|
|
tsla-fan = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0";
|
2025-07-24 10:48:56 +02:00
|
|
|
|
|
|
|
|
# NixOS commands
|
|
|
|
|
nixoss = "sudo nixos-rebuild switch --flake .#${hostName}";
|
|
|
|
|
nixos-main = "git checkout main && git pull && sudo nixos-rebuild switch --flake .#${hostName}";
|
|
|
|
|
nixossr = "sudo nixos-rebuild switch --flake .#${hostName} && reboot";
|
|
|
|
|
nixost = "sudo nixos-rebuild build-vm --flake .#${hostName}";
|
|
|
|
|
|
|
|
|
|
# Development commands
|
|
|
|
|
devt = "devenv test";
|
2025-07-29 14:16:06 +02:00
|
|
|
|
|
|
|
|
devtas = "devenv tasks list";
|
|
|
|
|
devtar = "devenv tasks run";
|
2025-07-24 10:48:56 +02:00
|
|
|
devs = "devenv shell";
|
2025-07-29 11:25:40 +02:00
|
|
|
devu = "devenv up -d";
|
|
|
|
|
devi = "nix flake init -t templates#";
|
2025-07-24 10:48:56 +02:00
|
|
|
|
2025-07-23 13:12:09 +02:00
|
|
|
pypod = "podman run --rm -it --network host -v '.:/run' -w '/run' python /run/";
|
2025-07-24 10:48:56 +02:00
|
|
|
|
|
|
|
|
# Tower commands
|
2025-07-23 19:46:26 +02:00
|
|
|
weboot = "nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 && reboot";
|
2025-08-08 21:43:53 +02:00
|
|
|
|
|
|
|
|
# Misc commands
|
|
|
|
|
nix-shell = "nix shell";
|
2025-07-23 13:12:09 +02:00
|
|
|
};
|
2025-07-23 19:46:19 +02:00
|
|
|
}; # end fish
|
2025-08-08 21:43:53 +02:00
|
|
|
nushell = {
|
|
|
|
|
enable = true;
|
2025-08-12 21:00:01 +02:00
|
|
|
configFile.source = ./conf/config.nu;
|
2025-08-08 21:43:53 +02:00
|
|
|
shellAliases = {
|
|
|
|
|
tsla-fan = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0";
|
|
|
|
|
|
|
|
|
|
# NixOS commands
|
|
|
|
|
nixoss = "sudo nixos-rebuild switch --flake .#${hostName}";
|
2025-08-12 21:00:01 +02:00
|
|
|
nixos-main = "git checkout main ; git pull ; sudo nixos-rebuild switch --flake #${hostName}";
|
|
|
|
|
nixossr = "sudo nixos-rebuild switch --flake .#${hostName} ; reboot";
|
2025-08-08 21:43:53 +02:00
|
|
|
nixost = "sudo nixos-rebuild build-vm --flake .#${hostName}";
|
|
|
|
|
|
|
|
|
|
# Development commands
|
|
|
|
|
devt = "devenv test";
|
|
|
|
|
|
|
|
|
|
devtas = "devenv tasks list";
|
|
|
|
|
devtar = "devenv tasks run";
|
|
|
|
|
devs = "devenv shell";
|
|
|
|
|
devu = "devenv up -d";
|
|
|
|
|
devi = "nix flake init -t templates#";
|
|
|
|
|
|
|
|
|
|
pypod = "podman run --rm -it --network host -v '.:/run' -w '/run' python /run/";
|
|
|
|
|
|
|
|
|
|
# Tower commands
|
2025-08-12 21:00:01 +02:00
|
|
|
weboot = "nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 ; reboot";
|
2025-08-08 21:43:53 +02:00
|
|
|
};
|
|
|
|
|
};
|
2025-07-23 13:12:09 +02:00
|
|
|
git = {
|
|
|
|
|
enable = true;
|
|
|
|
|
userName = "alisceon";
|
|
|
|
|
userEmail = "alisceon@protonmail.com";
|
|
|
|
|
extraConfig = {
|
|
|
|
|
push = { autoSetupRemote = true; };
|
2025-07-24 10:48:56 +02:00
|
|
|
init.defaultBranch = "main";
|
2025-07-23 13:12:09 +02:00
|
|
|
};
|
2025-07-23 19:46:19 +02:00
|
|
|
}; # end git
|
2025-07-23 13:12:09 +02:00
|
|
|
vscode.enable = true;
|
|
|
|
|
firefox = {
|
|
|
|
|
enable = true;
|
|
|
|
|
nativeMessagingHosts = [
|
|
|
|
|
pkgs.gnome-browser-connector
|
|
|
|
|
];
|
2025-07-23 19:46:19 +02:00
|
|
|
}; # end firefox
|
2025-07-23 13:12:09 +02:00
|
|
|
bat.enable = true;
|
|
|
|
|
ssh = {
|
|
|
|
|
enable = true;
|
|
|
|
|
matchBlocks = {
|
|
|
|
|
"alisceon.com" = {
|
|
|
|
|
hostname = "alisceon.com";
|
|
|
|
|
user = "opc";
|
|
|
|
|
};
|
|
|
|
|
"miscbox" = {
|
|
|
|
|
hostname = "10.1.0.11";
|
|
|
|
|
proxyJump = "alisceon.com";
|
|
|
|
|
user = "opc";
|
|
|
|
|
};
|
|
|
|
|
"blogbox" = {
|
|
|
|
|
hostname = "10.1.0.10";
|
|
|
|
|
proxyJump = "alisceon.com";
|
|
|
|
|
user = "ubuntu";
|
|
|
|
|
};
|
|
|
|
|
"filurbox" = {
|
|
|
|
|
hostname = "oci.malice.zone";
|
|
|
|
|
user = "opc";
|
|
|
|
|
};
|
|
|
|
|
"dnspi" = {
|
|
|
|
|
hostname = "10.40.0.2";
|
|
|
|
|
user = "pi";
|
|
|
|
|
};
|
|
|
|
|
"tsla-exporter-bridge" = {
|
|
|
|
|
hostname = "alma02.lab.the.malice.zone";
|
|
|
|
|
user = "root";
|
|
|
|
|
};
|
|
|
|
|
"tsla-runner-boi" = {
|
|
|
|
|
hostname = "alma03.lab.the.malice.zone";
|
|
|
|
|
user = "root";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-07-23 19:46:19 +02:00
|
|
|
}; # end ssh
|
2025-07-24 10:48:56 +02:00
|
|
|
direnv = {
|
|
|
|
|
enable = true;
|
|
|
|
|
silent = true;
|
|
|
|
|
}; # end direnv
|
2025-07-23 19:46:19 +02:00
|
|
|
}; # end programs
|
2025-07-21 23:55:59 +02:00
|
|
|
|
2025-07-23 19:46:26 +02:00
|
|
|
# obsidian special case
|
|
|
|
|
programs.obsidian.enable = true;
|
|
|
|
|
# overide broken config
|
|
|
|
|
xdg.configFile."obsidian/obsidian.json".source = lib.mkForce ./conf/obsidian.json;
|
|
|
|
|
|
2025-08-08 14:42:57 +02:00
|
|
|
# nixpkgs config
|
|
|
|
|
xdg.configFile."nixpkgs/config.nix".source = ./conf/config.nix;
|
|
|
|
|
|
2025-07-21 23:55:59 +02:00
|
|
|
home.packages = with pkgs; [
|
|
|
|
|
signal-desktop
|
|
|
|
|
discord
|
|
|
|
|
eza
|
|
|
|
|
fd
|
|
|
|
|
ripgrep
|
|
|
|
|
];
|
|
|
|
|
|
2025-07-23 13:12:09 +02:00
|
|
|
xdg = {
|
|
|
|
|
enable = true;
|
|
|
|
|
userDirs.enable = true;
|
|
|
|
|
mime.enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
2025-07-21 23:55:59 +02:00
|
|
|
services.syncthing = {
|
|
|
|
|
enable = true;
|
|
|
|
|
};
|
2025-07-23 19:46:19 +02:00
|
|
|
dconf.enable = true;
|
|
|
|
|
dconf.settings = {
|
|
|
|
|
"org/gnome/desktop/background" = {
|
|
|
|
|
color-shading-type = "solid";
|
|
|
|
|
picture-options = "zoom";
|
|
|
|
|
primary-color = "#000000000000";
|
|
|
|
|
secondary-color = "#000000000000";
|
2025-07-23 19:46:26 +02:00
|
|
|
picture-uri = "file:///home/alisceon/Pictures/system/bg.png";
|
|
|
|
|
picture-uri-dark = "file:///home/alisceon/Pictures/system/bg.png";
|
|
|
|
|
};
|
|
|
|
|
"org/gnome/mutter" = {
|
|
|
|
|
auto-maximize = true;
|
2025-07-23 19:46:19 +02:00
|
|
|
};
|
|
|
|
|
"org/gnome/desktop/interface" = {
|
|
|
|
|
accent-color = "red";
|
|
|
|
|
color-scheme = "prefer-dark";
|
|
|
|
|
};
|
|
|
|
|
"org/gnome/shell" = {
|
|
|
|
|
disable-user-extensions = false;
|
|
|
|
|
enabled-extensions = [ pkgs.gnomeExtensions.ddterm.extensionUuid ];
|
|
|
|
|
favorite-apps = [
|
|
|
|
|
"org.gnome.Nautilus.desktop"
|
|
|
|
|
"firefox.desktop"
|
2025-07-23 19:46:26 +02:00
|
|
|
"code.desktop"
|
2025-07-23 19:46:19 +02:00
|
|
|
"obsidian.desktop"
|
|
|
|
|
"discord.desktop"
|
2025-07-23 19:46:26 +02:00
|
|
|
"signal.desktop"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
"org/gnome/shell/keybindings" = {
|
|
|
|
|
show-screenshot-ui = [ "<Shift><Super>s" ];
|
|
|
|
|
};
|
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
|
|
|
|
custom-keybindings = [
|
|
|
|
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
2025-07-23 19:46:19 +02:00
|
|
|
];
|
|
|
|
|
};
|
2025-07-23 19:46:26 +02:00
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
|
|
|
|
name = "GNOME Console";
|
|
|
|
|
command = "kgx";
|
|
|
|
|
binding = "<Shift><Super>Return";
|
|
|
|
|
};
|
2025-07-23 19:46:19 +02:00
|
|
|
"com/github/amezin/ddterm" = {
|
|
|
|
|
ddterm-toggle-hotkey = [ "<Super>Return" ];
|
2025-07-23 19:46:26 +02:00
|
|
|
window-monitor = "focus";
|
|
|
|
|
hide-when-focus-lost = true;
|
|
|
|
|
hide-window-on-esc = true;
|
|
|
|
|
tab-policy = "never";
|
|
|
|
|
panel-icon-type = "none";
|
2025-07-23 19:46:19 +02:00
|
|
|
};
|
|
|
|
|
}; # end dconf.settings
|
|
|
|
|
} # end file
|