diff --git a/hosts/wano/configuration.nix b/hosts/wano/configuration.nix index 96720f8..183b4e5 100644 --- a/hosts/wano/configuration.nix +++ b/hosts/wano/configuration.nix @@ -11,6 +11,8 @@ inputs.home-manager.nixosModules.default ]; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + # Bootloader. boot.loader.grub.enable = true; boot.loader.grub.device = "/dev/sda"; @@ -23,8 +25,6 @@ # networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - # Enable networking networking.networkmanager.enable = true; @@ -69,11 +69,7 @@ alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; - # If you want to use JACK applications, uncomment this #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) #media-session.enable = true; }; @@ -85,16 +81,9 @@ isNormalUser = true; description = "sid"; extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; [ - alacritty - git - kdePackages.dolphin - ]; + packages = with pkgs; []; }; - # Install firefox. - programs.firefox.enable = true; - # Home Manager home-manager = { extraSpecialArgs = { inherit inputs; }; @@ -110,8 +99,41 @@ # $ nix search wget environment.systemPackages = with pkgs; [ vim + alacritty + git + fish + tailscale + fastfetch + librewolf + signal-desktop + localsend + vscodium + vlc + gimp + libreoffice-qt6-fresh + # Only related to this laptop - above to be moved to a more common config when ive added more hosts + kdePackages.dolphin + prismlauncher + calibre + thunderbird + ledger-live-desktop + nodejs_22 + pnpm ]; + # Custom services + services.tailscale.enable = true; + + programs.bash = { + interactiveShellInit = '' + if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] + then + shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" + exec ${pkgs.fish}/bin/fish $LOGIN_OPTION + fi + ''; + }; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; @@ -138,5 +160,4 @@ # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "25.05"; # Did you read the comment? - } diff --git a/hosts/wano/home.nix b/hosts/wano/home.nix index ad9f8bd..1f03614 100644 --- a/hosts/wano/home.nix +++ b/hosts/wano/home.nix @@ -25,16 +25,6 @@ # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; - - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; }; # Home Manager can also manage your environment variables through @@ -42,17 +32,6 @@ # shell provided by Home Manager. If you don't want to manage your shell # through Home Manager then you have to manually source 'hm-session-vars.sh' # located at either - # - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # /etc/profiles/per-user/sid/etc/profile.d/hm-session-vars.sh - # home.sessionVariables = { # EDITOR = "emacs"; }; @@ -60,12 +39,26 @@ # Let Home Manager install and manage itself. programs.home-manager.enable = true; - # Nixhelper - programs.nh = { - enable = true; - clean.enable = true; - clean.extraArgs = "--keep-since 4d --keep 3"; - flake = "../../flake.nix"; + programs = { + # Nixhelper + nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep-since 4d --keep 3"; + flake = "../../flake.nix"; + }; + + # Vim config + vim = { + enable = true; + settings = { + tabstop = 2; + shiftwidth = 2; + }; + }; + + # Enable fish + fish.enable = true; }; # GPG setup