diff options
Diffstat (limited to 'modules/desktop/apps')
| -rw-r--r-- | modules/desktop/apps/browsers/firefox.nix | 6 | ||||
| -rw-r--r-- | modules/desktop/apps/browsers/librewolf.nix | 66 | ||||
| -rw-r--r-- | modules/desktop/apps/editors/neovim.nix | 48 | ||||
| -rw-r--r-- | modules/desktop/apps/editors/vscode.nix | 10 | ||||
| -rw-r--r-- | modules/desktop/apps/games/lunati.nix | 24 | ||||
| -rw-r--r-- | modules/desktop/apps/games/openttd.nix | 28 | ||||
| -rw-r--r-- | modules/desktop/apps/games/prism.nix | 5 | ||||
| -rw-r--r-- | modules/desktop/apps/games/steam.nix | 5 | ||||
| -rw-r--r-- | modules/desktop/apps/games/vintagestory.nix | 19 | ||||
| -rw-r--r-- | modules/desktop/apps/mpd.nix | 10 | ||||
| -rw-r--r-- | modules/desktop/apps/mutt-wizard.nix | 46 | ||||
| -rw-r--r-- | modules/desktop/apps/virt.nix | 11 | ||||
| -rw-r--r-- | modules/desktop/apps/vpn.nix | 23 |
13 files changed, 238 insertions, 63 deletions
diff --git a/modules/desktop/apps/browsers/firefox.nix b/modules/desktop/apps/browsers/firefox.nix index 3c647f1..2c87bd5 100644 --- a/modules/desktop/apps/browsers/firefox.nix +++ b/modules/desktop/apps/browsers/firefox.nix @@ -34,7 +34,7 @@ in } + "/user.js"); search = { force = true; - default = "DuckDuckGo"; + default = "ddg"; engines = { "Nix Packages" = { urls = [{ @@ -47,8 +47,8 @@ in definedAliases = [ "@np" ]; }; "NixOS Wiki" = { - urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; - iconUpdateURL = "https://nixos.wiki/favicon.png"; + urls = [{ template = "https://wiki.nixos.org/index.php?search={searchTerms}"; }]; + icon = "https://wiki.nixos.org/favicon.png"; updateInterval = 24 * 60 * 60 * 1000; definedAliases = [ "@nw" ]; }; diff --git a/modules/desktop/apps/browsers/librewolf.nix b/modules/desktop/apps/browsers/librewolf.nix new file mode 100644 index 0000000..1700754 --- /dev/null +++ b/modules/desktop/apps/browsers/librewolf.nix @@ -0,0 +1,66 @@ +{ + config, + options, + lib, + pkgs, + ... +}: let + librewolfConf = config.modules.desktop.apps.browsers.librewolf; +in +{ + options.modules.desktop.apps.browsers.librewolf = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + }; + config = lib.mkIf (librewolfConf.enable) { + home.manager.programs.librewolf = { + enable = true; + profiles = { + "user" = { + id = 0; + isDefault = true; + + search.engines = { + "Nix Packages" = { + urls = [{ + template = "https://search.nixos.org/packages"; + params = [ + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + "Nix Options" = { + urls = [{ + template = "https://search.nixos.org/options"; + params = [ + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + definedAliases = [ "@no" ]; + }; + "Nix Wiki" = { + urls = [{ + template = "https://wiki.nixos.org/w/index.php"; + params = [ + { name = "search"; value = "{searchTerms}"; } + ]; + }]; + definedAliases = [ "@nw" ]; + }; + }; + }; + }; + }; + + modules.desktop.defaultApplications.apps.browser = rec { + package = pkgs.librewolf; + install = false; + cmd = "${package}/bin/librewolf"; + desktop = "librewolf"; + }; + }; +} diff --git a/modules/desktop/apps/editors/neovim.nix b/modules/desktop/apps/editors/neovim.nix index ee6424b..304aca7 100644 --- a/modules/desktop/apps/editors/neovim.nix +++ b/modules/desktop/apps/editors/neovim.nix @@ -1,12 +1,10 @@ { config, - options, lib, pkgs, ... }: let nvimConf = config.modules.desktop.apps.editors.neovim; - configDir = config.nixosConfig.configDir; in { options.modules.desktop.apps.editors.neovim = { enable = lib.mkOption { @@ -24,11 +22,9 @@ in { }; home.packages = [ - pkgs.rnix-lsp - pkgs.ccls - pkgs.nodePackages.bash-language-server + pkgs.clang-tools + pkgs.nil pkgs.texlab - pkgs.sumneko-lua-language-server ]; home.manager.programs.neovim = { @@ -41,31 +37,37 @@ in { luafile /etc/nixos/config/nvim/lua/settings.lua luafile /etc/nixos/config/nvim/lua/lsp.lua ''; + coc.enable = true; + coc.settings = { + "suggest.noselect" = true; + "suggest.enablePreview" = true; + "suggest.enablePreselect" = false; + "suggest.disableKind" = true; + "inlayHint.enable" = false; + + "nix.enableLanguageServer" = true; + "nix.serverPath" = "nil"; + }; plugins = with pkgs.vimPlugins; [ nvim-web-devicons gitsigns-nvim - nvim-tree-lua catppuccin-nvim + vim-commentary + vim-fugitive + + popup-nvim + plenary-nvim + telescope-nvim + nvim-lspconfig - nvim-cmp - cmp-cmdline - cmp-nvim-lsp - cmp-buffer - cmp-path - cmp-vsnip - cmp-treesitter - - vim-nix - vim-vsnip - nvim-treesitter.withAllGrammars - neoformat + nvim-treesitter nvim-treesitter.withAllGrammars - bufferline-nvim - lualine-nvim - alpha-nvim - ]; + coc-clangd + coc-rust-analyzer + coc-lua + ]; }; }; } diff --git a/modules/desktop/apps/editors/vscode.nix b/modules/desktop/apps/editors/vscode.nix index f2db004..d9f3bd4 100644 --- a/modules/desktop/apps/editors/vscode.nix +++ b/modules/desktop/apps/editors/vscode.nix @@ -5,10 +5,10 @@ pkgs, ... }: let - codeConf = config.modules.desktop.apps.editors.vscode; + codeConf = config.modules.desktop.apps.editors.vscodium; configDir = config.nixosConfig.configDir; in { - options.modules.desktop.apps.editors.vscode = { + options.modules.desktop.apps.editors.vscodium = { enable = lib.mkOption { type = lib.types.bool; default = false; @@ -18,10 +18,8 @@ in { config = lib.mkIf (codeConf.enable) { home.manager.programs.vscode = { enable = true; - package = pkgs.vscode; - extensions = with pkgs.vscode-extensions; [ - catppuccin.catppuccin-vsc - catppuccin.catppuccin-vsc-icons + profiles.default.extensions = with pkgs.vscode-extensions; [ + catppuccin.catppuccin-vsc catppuccin.catppuccin-vsc-icons ms-dotnettools.csharp ]; }; diff --git a/modules/desktop/apps/games/lunati.nix b/modules/desktop/apps/games/lunati.nix new file mode 100644 index 0000000..1c06b4f --- /dev/null +++ b/modules/desktop/apps/games/lunati.nix @@ -0,0 +1,24 @@ +{ + config, + options, + lib, + pkgs, + rootPath, + ... +}: let + luantiConf = config.modules.desktop.apps.games.luanti; + configDir = config.nixosConfig.configDir; +in { + options.modules.desktop.apps.games.luanti = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + }; + + config = lib.mkIf (luantiConf.enable) { + home.packages = with pkgs; [ + luanti + ]; + }; +} diff --git a/modules/desktop/apps/games/openttd.nix b/modules/desktop/apps/games/openttd.nix new file mode 100644 index 0000000..f66ccc0 --- /dev/null +++ b/modules/desktop/apps/games/openttd.nix @@ -0,0 +1,28 @@ +{ + config, + options, + lib, + pkgs, + rootPath, + ... +}: let + openttdConf = config.modules.desktop.apps.games.openttd; + configDir = config.nixosConfig.configDir; +in { + options.modules.desktop.apps.games.openttd = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + }; + + config = lib.mkIf (openttdConf.enable) { + home.packages = with pkgs; [ + openttd + ]; + + fonts.packages = with pkgs; [ + openttd-ttf + ]; + }; +} diff --git a/modules/desktop/apps/games/prism.nix b/modules/desktop/apps/games/prism.nix index 4eb0a5f..b586451 100644 --- a/modules/desktop/apps/games/prism.nix +++ b/modules/desktop/apps/games/prism.nix @@ -5,7 +5,7 @@ pkgs, ... }: let - prismConf = config.modules.desktop.apps.games; + prismConf = config.modules.desktop.apps.games.prism; configDir = config.nixosConfig.configDir; in { options.modules.desktop.apps.games.prism = { @@ -16,7 +16,8 @@ in { }; config = lib.mkIf (prismConf.enable) { - environment.systemPackages = [ + home.packages = [ + pkgs.javaPackages.compiler.temurin-bin.jre-25 pkgs.prismlauncher ]; }; diff --git a/modules/desktop/apps/games/steam.nix b/modules/desktop/apps/games/steam.nix index 50b5c62..51396f1 100644 --- a/modules/desktop/apps/games/steam.nix +++ b/modules/desktop/apps/games/steam.nix @@ -29,6 +29,11 @@ in { remotePlay.openFirewall = true; dedicatedServer.openFirewall = true; gamescopeSession.enable = true; + protontricks.enable = true; }; + + environment.systemPackages = with pkgs; [ + protonup-qt + ]; }; } diff --git a/modules/desktop/apps/games/vintagestory.nix b/modules/desktop/apps/games/vintagestory.nix deleted file mode 100644 index db3d49e..0000000 --- a/modules/desktop/apps/games/vintagestory.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - config, - options, - lib, - pkgs, - ... -}: let - gamesConf = config.modules.desktop.apps.games; - configDir = config.nixosConfig.configDir; -in { - config = lib.mkIf (gamesConf.enable) { - environment.systemPackages = [ - pkgs.dotnet-sdk_7 - ]; - environment.sessionVariables = { - DOTNET_ROOT = "${pkgs.dotnet-sdk_7}"; - }; - }; -} diff --git a/modules/desktop/apps/mpd.nix b/modules/desktop/apps/mpd.nix index e7af8c3..3ec86e4 100644 --- a/modules/desktop/apps/mpd.nix +++ b/modules/desktop/apps/mpd.nix @@ -17,13 +17,12 @@ in config = lib.mkIf (mpdConfig.enable) { home.packages = [ - pkgs.mpc-cli - pkgs.ncmpcpp + pkgs.mpc ]; services.mpd = { enable = true; - musicDirectory = /home/jon/mus; + musicDirectory = "/home/jon/mus"; extraConfig = '' audio_output { type "pipewire" @@ -34,6 +33,11 @@ audio_output { }; systemd.services.mpd.environment = { XDG_RUNTIME_DIR = "/run/user/1000"; + }; + + home.manager.programs.ncmpcpp = { + enable = true; + mpdMusicDir = /home/jon/mus; }; }; } diff --git a/modules/desktop/apps/mutt-wizard.nix b/modules/desktop/apps/mutt-wizard.nix new file mode 100644 index 0000000..da7b779 --- /dev/null +++ b/modules/desktop/apps/mutt-wizard.nix @@ -0,0 +1,46 @@ +{ + config, + options, + lib, + pkgs, + ... +}: let + muttConfig = config.modules.desktop.apps.mutt; +in +{ + options.modules.desktop.apps.mutt = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + }; + + config = lib.mkIf (muttConfig.enable) { + home.packages = [ + pkgs.neomutt + pkgs.isync + pkgs.lynx + pkgs.mutt-wizard + ]; + + systemd.timers."auto-mailsync" = { + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = "10m"; + OnUnitActiveSec = "10m"; + Unit = "auto-mailsync.service"; + }; + }; + + systemd.services."auto-mailsync" = { + script = '' + set -eu + /run/current-system/sw/bin/bash -l -c '${pkgs.mutt-wizard}/bin/mailsync -Y' + ''; + serviceConfig = { + Type = "oneshot"; + User = "jon"; + }; + }; + }; +} diff --git a/modules/desktop/apps/virt.nix b/modules/desktop/apps/virt.nix index 5851a0b..ec4a41a 100644 --- a/modules/desktop/apps/virt.nix +++ b/modules/desktop/apps/virt.nix @@ -16,19 +16,16 @@ in }; config = lib.mkIf (virtConfig.enable) { + home.packages = [ + pkgs.virtiofsd + ]; + virtualisation.libvirtd = { enable = true; qemu = { package = pkgs.qemu_kvm; runAsRoot = true; swtpm.enable = true; - ovmf = { - enable = true; - packages = [(pkgs.OVMF.override { - secureBoot = true; - tpmSupport = true; - }).fd]; - }; }; }; programs.virt-manager.enable = true; diff --git a/modules/desktop/apps/vpn.nix b/modules/desktop/apps/vpn.nix new file mode 100644 index 0000000..8cddb39 --- /dev/null +++ b/modules/desktop/apps/vpn.nix @@ -0,0 +1,23 @@ +{ + config, + options, + lib, + pkgs, + ... +}: let + vpnConfig = config.modules.desktop.apps.vpn; +in +{ + options.modules.desktop.apps.vpn = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + }; + + config = lib.mkIf (vpnConfig.enable) { + home.packages = [ + pkgs.mullvad-vpn + ]; + }; +} |
