summaryrefslogtreecommitdiffstats
path: root/modules/desktop/apps
diff options
context:
space:
mode:
Diffstat (limited to 'modules/desktop/apps')
-rw-r--r--modules/desktop/apps/browsers/firefox.nix6
-rw-r--r--modules/desktop/apps/browsers/librewolf.nix66
-rw-r--r--modules/desktop/apps/editors/neovim.nix48
-rw-r--r--modules/desktop/apps/editors/vscode.nix10
-rw-r--r--modules/desktop/apps/games/lunati.nix24
-rw-r--r--modules/desktop/apps/games/openttd.nix28
-rw-r--r--modules/desktop/apps/games/prism.nix5
-rw-r--r--modules/desktop/apps/games/steam.nix5
-rw-r--r--modules/desktop/apps/games/vintagestory.nix19
-rw-r--r--modules/desktop/apps/mpd.nix10
-rw-r--r--modules/desktop/apps/mutt-wizard.nix46
-rw-r--r--modules/desktop/apps/virt.nix11
-rw-r--r--modules/desktop/apps/vpn.nix23
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
+ ];
+ };
+}