# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page, on # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). # NixOS-WSL specific options are documented on the NixOS-WSL repository: # https://github.com/nix-community/NixOS-WSL { config, lib, pkgs, ... }: { imports = [ # include NixOS-WSL modules ]; wsl.enable = true; wsl.defaultUser = "nixos"; networking.hostName = "snarfblat-nix"; nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; nixpkgs.config.allowUnfree = true; nix.settings.experimental-features = ["nix-command" "flakes" ]; services.netbird.enable = true; environment.systemPackages = with pkgs; [ fishPlugins.tide neovim wget curl git htop btop dig eza inetutils mosh traceroute firefox virt-viewer netbird-ui grim slurp wl-clipboard mako ]; environment.shellAliases = { vi = "nvim"; vim = "nvim"; ll = "eza -alo --group-directories-first"; tree = "eza -lT"; }; programs.direnv.enable = true; users.defaultUserShell = pkgs.fish; programs.tmux = { enable = true; shortcut = "a"; extraConfig = '' set-option -g mouse on bind | split-window -h -c "#{pane_current_path}" bind - split-window -v -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}" ''; }; services.gnome.gnome-keyring.enable = true; programs.sway = { enable = true; wrapperFeatures.gtk = true; }; programs.waybar.enable = true; programs.fish = { enable = true; shellAbbrs = { garbage = "sudo nix-collect-garbage --delete-older-than 7d"; rbs = "sudo nixos-rebuild switch"; rebuild-all = "sudo nix-collect-garbage --delete-older-than 7d && sudo nixos-rebuild switch"; }; }; time.timeZone = "America/New_York"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It's perfectly fine and recommended to leave # this value at the release version of the first install of this system. # 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 = "24.05"; # Did you read the comment? }