{ pkgs, config, hostName, lib, ... }: { home.username = "alisceon"; home.homeDirectory = "/home/alisceon"; home.stateVersion = "24.05"; manual.manpages.enable = true; programs = { fish = { enable = true; # Disable greeting interactiveShellInit = '' set fish_greeting ''; preferAbbrs = true; shellAbbrs = { ls = "exa"; ll = "exa -lah"; grep = "rg"; cat = "bat -p"; 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}"; 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"; 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 weboot = "nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 && reboot"; }; }; # end fish git = { enable = true; userName = "alisceon"; userEmail = "alisceon@protonmail.com"; extraConfig = { push = { autoSetupRemote = true; }; init.defaultBranch = "main"; }; }; # end git vscode.enable = true; firefox = { enable = true; nativeMessagingHosts = [ pkgs.gnome-browser-connector ]; }; # end firefox 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"; }; }; }; # end ssh direnv = { enable = true; silent = true; }; # end direnv }; # end programs # obsidian special case programs.obsidian.enable = true; # overide broken config xdg.configFile."obsidian/obsidian.json".source = lib.mkForce ./conf/obsidian.json; # nixpkgs config xdg.configFile."nixpkgs/config.nix".source = ./conf/config.nix; home.packages = with pkgs; [ signal-desktop discord eza fd ripgrep ]; xdg = { enable = true; userDirs.enable = true; mime.enable = true; }; services.syncthing = { enable = true; }; dconf.enable = true; dconf.settings = { "org/gnome/desktop/background" = { color-shading-type = "solid"; picture-options = "zoom"; primary-color = "#000000000000"; secondary-color = "#000000000000"; 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; }; "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" "code.desktop" "obsidian.desktop" "discord.desktop" "signal.desktop" ]; }; "org/gnome/shell/keybindings" = { show-screenshot-ui = [ "s" ]; }; "org/gnome/settings-daemon/plugins/media-keys" = { custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" ]; }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { name = "GNOME Console"; command = "kgx"; binding = "Return"; }; "com/github/amezin/ddterm" = { ddterm-toggle-hotkey = [ "Return" ]; window-monitor = "focus"; hide-when-focus-lost = true; hide-window-on-esc = true; tab-policy = "never"; panel-icon-type = "none"; }; }; # end dconf.settings } # end file