{ config, pkgs, pkgs-unstable, ... }: { boot.kernel.sysctl = { "net.ipv4.ip_unprivileged_port_start" = 0; }; system.stateVersion = "24.05"; system.autoUpgrade = { enable = true; persistent = true; flake = "/home/alisceon/.nixos_config"; flags = [ "--update-input" "nixpkgs" "-L" ]; dates = "daily"; }; # end system.autoUpgrade nix = { settings = { experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; trusted-users = [ "root" "alisceon" ]; }; # end settings gc = { automatic = true; persistent = true; dates = "daily"; options = "--delete-older-than 7d"; }; # end gc registry = { templates.to = { type = "git"; url = "git+ssh://git@git.malice.zone/alisceon/devenv_templates.git"; }; # end templates.to nixpkgs.to = { type = "github"; owner = "NixOS"; repo = "nixpkgs"; ref = "nixos-unstable"; }; # end nixpkgs.to nixpkgs-stable.to = { type = "github"; owner = "NixOS"; repo = "nixpkgs"; ref = "nixos-25.05"; }; # end nixpkgs.to }; #end registry }; #end nix console.keyMap = "sv-latin1"; networking.networkmanager.enable = true; time.timeZone = "Europe/Stockholm"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "sv_SE.UTF-8"; LC_IDENTIFICATION = "sv_SE.UTF-8"; LC_MEASUREMENT = "sv_SE.UTF-8"; LC_MONETARY = "sv_SE.UTF-8"; LC_NAME = "sv_SE.UTF-8"; LC_NUMERIC = "sv_SE.UTF-8"; LC_PAPER = "sv_SE.UTF-8"; LC_TELEPHONE = "sv_SE.UTF-8"; LC_TIME = "sv_SE.UTF-8"; }; security.sudo.wheelNeedsPassword = false; environment = { systemPackages = with pkgs; [ # CLI tools git wget curl btop # system monitor ripgrep # grep replacement fd # find replacement eza # ls replacement nh # nix helper jq # JSON processor ncdu pciutils usbutils tree # Shells bash nushell fish powershell # Languages python3 # Virtualization podman ]; # end systemPackages shells = with pkgs; [ bash nushell fish powershell xonsh ]; }; # end environment virtualisation.podman = { enable = true; dockerCompat = true; defaultNetwork.settings.dns_enabled = true; }; # end virtualisation users.users.alisceon = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" "podman" ]; shell = pkgs.xonsh; openssh.authorizedKeys.keys = [ "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPN1Cd2UlHo03Jqgi5Yb4io/3gh/X4wCb8LcmKlpAovQa271CKDBtYOUKn+Fts03g6dBMfaWMty6VGPMGDMONmc= alisceon@electra" ]; }; # end users programs = { command-not-found.enable = true; xonsh = { enable = true; extraPackages = ps: with ps; [ pyperclip xonsh.xontribs.xonsh-direnv pkgs.nur.repos.xonsh-xontribs.xontrib-fish-completer pkgs.nur.repos.xonsh-xontribs.xontrib-abbrevs pkgs.nur.repos.xonsh-xontribs.xontrib-clp pkgs.nur.repos.xonsh-xontribs.xontrib-bashisms ( ps.buildPythonPackage rec { name = "xontrib-fzf-completions"; version = "v0.0.2"; format = "pyproject"; nativeBuildInputs = [ ps.setuptools ps.setuptools-scm ps.wheel ]; propagatedBuildInputs = [ ps.xonsh ]; src = pkgs.fetchFromGitHub { owner = "doronz88"; repo = "${name}"; rev = "${version}"; sha256 = "sha256-1z5xHX4Psevn8686QkwIzv/LOJ5IMJc2nQ5Hg/2svTc="; }; meta = { homepage = "https://github.com/doronz88/xontrib-fzf-completions"; description = "fuzzy completions for xonsh"; license = pkgs.lib.licenses.mit; maintainers = [ ]; }; } ) ]; # end extraPackages config = '' $XONSH_COLOR_STYLE = 'native' $PROMPT = '{YELLOW}{env_name}{RESET}{BOLD_GREEN}{user}@{hostname}{BOLD_BLUE} {cwd}{branch_color}{curr_branch: {}}{RESET} {RED}{last_return_code_if_nonzero:[{BOLD_INTENSE_RED}{}{RED}] }{RESET}{BOLD_BLUE}{prompt_end}{RESET} ' xontrib load coreutils xontrib load fish_completer xontrib load direnv xontrib load fzf-completions xontrib load clp xontrib load bashisms #xontrib load abbrevs #relies on xonsh.ptk_shell which was deprecated in 0.13 #from xonsh.built_ins import XSH #XSH.env['fzf_history_binding'] = "c-r" # Ctrl+R #XSH.env['fzf_ssh_binding'] = "c-s" # Ctrl+S #XSH.env['fzf_file_binding'] = "c-t" # Ctrl+T #XSH.env['fzf_dir_binding'] = "c-g" # Ctrl+G aliases["tsla-fan"] = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0" aliases["nixoss"] = "sudo nixos-rebuild switch --flake .#${config.networking.hostName}" aliases["nixost"] = "sudo nixos-rebuild test --flake .#${config.networking.hostName}" aliases["nixosdb"] = "sudo nixos-rebuild dry-build --flake .#${config.networking.hostName}" aliases["devt"] = "devenv test" aliases["devtas"] = "devenv tasks list" aliases["devtar"] = "devenv tasks run" aliases["devs"] = "devenv shell" aliases["devi-python"] = "nix flake init -t templates#python" aliases["weboot"] = "bash -c 'nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 && reboot'" aliases["ls"] = "exa" aliases["ll"] = "exa -lah" aliases["grep"] = "rg" ''; }; # end xonsh }; # end programs } #end file