diff --git a/nixosConfigurations/vinheim/default.nix b/nixosConfigurations/vinheim/default.nix index b6e9933..942bc24 100644 --- a/nixosConfigurations/vinheim/default.nix +++ b/nixosConfigurations/vinheim/default.nix @@ -70,6 +70,10 @@ settings.KbdInteractiveAuthentication = false; }; + services.printing = { + enable = true; + }; + programs.ssh.extraConfig = '' Host catarina HostName 77.242.105.50 @@ -82,6 +86,7 @@ podman = { enable = true; dockerCompat = true; + dockerSocket.enable = true; defaultNetwork.settings.dns_enabled = true; }; libvirtd.enable = true; diff --git a/nixosConfigurations/vinheim/users.nix b/nixosConfigurations/vinheim/users.nix index e1c11c7..1cd52a6 100644 --- a/nixosConfigurations/vinheim/users.nix +++ b/nixosConfigurations/vinheim/users.nix @@ -17,7 +17,7 @@ in { group = "users"; uid = 1000; initialPassword = "nixos"; - shell = pkgs.fish; + shell = pkgs.nushell; }; home-manager.useGlobalPkgs = true; @@ -71,6 +71,7 @@ in { kdePackages.kmail kdePackages.kmail-account-wizard + kdePackages.krdc lazydocker docker-compose @@ -78,6 +79,13 @@ in { dive ksshaskpass + + dbeaver-bin + + bluez + + wl-clipboard + cliphist ]; xdg.portal = { @@ -98,7 +106,136 @@ in { accent = "green"; }; + programs.helix = { + enable = true; + settings = { + theme = "gruvbox"; + editor.cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + }; + extraPackages = with pkgs; [pyright ruff alejandra]; + languages = { + language = [ + { + name = "nix"; + auto-format = true; + formatter.command = "alejandra"; + } + + { + name = "python"; + language-id = "python"; + roots = ["pyproject.toml" "setup.py" "poetry.lock" "uv.lock" "pdm.lock"]; + language-servers = ["ruff" "pyright"]; + auto-format = true; + formatter = { + command = "ruff"; + args = ["format" "-"]; + }; + file-types = ["py"]; + comment-token = "#"; + shebangs = ["python"]; + } + ]; + + language-server = { + pyright = { + command = "pyright-langserver"; + args = ["--stdio"]; + config.python.analysis = { + venvPath = "."; + venv = ".venv"; + lint = true; + inlayHint.enable = true; + autoSearchPaths = true; + diagnosticMode = "workspace"; + useLibraryCodeForType = true; + logLevel = "Error"; + typeCheckingMode = "off"; + autoImoprtCompletion = true; + reportOptionalSubscript = false; + reportOptionalMemberAccess = false; + }; + }; + ruff = { + command = "ruff"; + args = ["server"]; + environment = {RUFF_TRACE = "messages";}; + }; + }; + }; + }; + programs = { + nushell = { + enable = true; + # The config.nu can be anywhere you want if you like to edit your Nushell with Nu + #configFile.source = ./.../config.nu; + # for editing directly to config.nu + extraConfig = '' + let carapace_completer = {|spans| + carapace $spans.0 nushell $spans | from json + } + $env.config = { + show_banner: false, + completions: { + case_sensitive: false # case-sensitive completions + quick: true # set to false to prevent auto-selecting completions + partial: true # set to false to prevent partial filling of the prompt + algorithm: "fuzzy" + external: { + enable: true + max_results: 100 + completer: $carapace_completer + } + } + } + ''; + }; + + carapace = { + enable = true; + enableNushellIntegration = true; + enableBashIntegration = true; + }; + + starship = { + enable = true; + enableNushellIntegration = true; + enableBashIntegration = true; + settings = { + add_newline = true; + format = '' + $all $fill $time + $character + ''; + fill = { + symbol = " "; + }; + line_break = { + disabled = true; + }; + directory = { + truncate_to_repo = false; + }; + time = { + disabled = false; + use_12hr = true; + }; + character = { + success_symbol = "[❯](bold green)"; + error_symbol = "[❯](bold red)"; + }; + nix_shell = { + symbol = " "; + heuristic = true; + }; + }; + }; + # General fish = { enable = true; @@ -266,5 +403,5 @@ in { package = pkgs.wireshark; }; - fonts.packages = with pkgs; [nerdfonts liberation_ttf]; + fonts.packages = with pkgs; [nerd-fonts.jetbrains-mono liberation_ttf]; }