summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-09-16 02:07:57 +0300
committerAzat Bahawi <azat@bahawi.net>2023-09-16 02:07:57 +0300
commitd58f6d509cd81c6c21739f3bf0fcec7fa623ee9f (patch)
treef8742617b495d478cc8c9b2c1f200e143f2c1d28 /modules
parent0e41d27187cd230111d44738b06f35efa7537b14 (diff)
2023-09-16
Diffstat (limited to 'modules')
-rw-r--r--modules/common/common/nix/default.nix81
-rw-r--r--modules/common/emacs/doom/init.el2
-rw-r--r--modules/common/git.nix1
-rw-r--r--modules/common/profiles/headful.nix1
-rw-r--r--modules/nixos/common/networking.nix3
-rw-r--r--modules/nixos/common/services.nix4
-rw-r--r--modules/nixos/firefox/default.nix107
-rw-r--r--modules/nixos/games/steam-run.nix3
-rw-r--r--modules/nixos/libvirtd.nix1
-rw-r--r--modules/nixos/vaultwarden.nix8
-rw-r--r--modules/nixos/x11.nix44
11 files changed, 78 insertions, 177 deletions
diff --git a/modules/common/common/nix/default.nix b/modules/common/common/nix/default.nix
index e516500..f0add5e 100644
--- a/modules/common/common/nix/default.nix
+++ b/modules/common/common/nix/default.nix
@@ -97,87 +97,22 @@ with lib; {
patches = final.patches ++ [./patches/tdesktop-no-ads.patch];
});
- inherit (pkgsPr 245433 "sha256-7duAw2pGwXrX4cgUioNSypmuiNR/hCUVywhKL6jW3qE=") openmw;
+ inherit (pkgsPr 245433 "sha256-FF1WW0+/pJ15+mPVjv0bkrh0dpHfQU08HNat2gu1PQk=") openmw;
}
- // (let
- openconnect = super.openconnect.overrideAttrs (_: _: {
- version = "unstable-2023-07-01";
- src = super.fetchFromGitLab {
- owner = "openconnect";
- repo = "openconnect";
- rev = "0e5a69e8f990ece134b50ec0be7b6bf42f14dfbd";
- hash = "sha256-/8ybs7tlmdVIZORxdcB/xE9Mpyo2cX+VN7eQAS7Qb5k=";
- };
- });
- in {
- networkmanager-openconnect =
- (super.networkmanager-openconnect.override {inherit openconnect;})
- .overrideAttrs (_: final: {
- version = "unstable-2023-05-29";
- src = super.fetchFromGitLab {
- domain = "gitlab.gnome.org";
- owner = "GNOME";
- repo = "NetworkManager-openconnect";
- rev = "030a3a9f05560bdb515ec2a6dad3a0ffbab3b213";
- hash = "sha256-GvhBKAQmbmzgM1Bh2j6carnGwtL/z5rbPl/jL/4kDoc=";
- };
- buildInputs =
- final.buildInputs
- ++ [
- (super.webkitgtk_4_1.override {
- inherit (super.gnome) libsoup;
- })
- ];
- nativeBuildInputs =
- final.nativeBuildInputs
- ++ [
- super.autoreconfHook
- ];
- preAutoreconf = ''
- autoupdate
- '';
- preConfigure = ''
- NOCONFIGURE=x ./autogen.sh
- touch gtk4/nm-openconnect-dialog.ui
- '';
- });
-
- plasma5Packages =
- super.plasma5Packages
- // {
- plasma-nm =
- (super.plasma5Packages.plasma-nm.override {inherit openconnect;})
- .overrideAttrs (_: final: {
- buildInputs = final.buildInputs ++ [super.qt5.qtwebengine];
- patches =
- final.patches
- ++ [
- (super.fetchpatch {
- url = "https://invent.kde.org/plasma/plasma-nm/-/commit/6ef64be8645ac32fc0b42df2cee5d9ff3b57e485.patch";
- sha256 = "sha256-b5yTMB7s+wG7X/EyuEa5tBrUU8oKc1Wa0zn0ND1rtI0=";
- })
- ];
- });
- };
- })
- // (with super; let
- np = nodePackages;
- in {
+ // (with super; {
# Normalises package names. This is done purely for aesthetics.
- css-language-server = np.vscode-css-languageserver-bin;
+ css-language-server = nodePackages.vscode-css-languageserver-bin;
dhall-language-server = dhall-lsp-server;
- dockerfile-language-server = np.dockerfile-language-server-nodejs;
+ dockerfile-language-server = nodePackages.dockerfile-language-server-nodejs;
editorconfig = editorconfig-core-c;
go-language-server = gopls;
- html-language-server = np.vscode-html-languageserver-bin;
- inherit (np) bash-language-server;
- inherit (np) vim-language-server;
- inherit (np) yaml-language-server;
- json-language-server = np.vscode-json-languageserver-bin;
+ html-language-server = nodePackages.vscode-html-languageserver-bin;
+ inherit (nodePackages) bash-language-server;
+ inherit (nodePackages) vim-language-server;
+ json-language-server = nodePackages.vscode-json-languageserver-bin;
k3d = kube3d;
kubelogin = kubelogin-oidc;
nix-language-server = rnix-lsp;
- omnisharp = omnisharp-roslyn;
telepresence = telepresence2;
tor-browser = tor-browser-bundle-bin;
}))
diff --git a/modules/common/emacs/doom/init.el b/modules/common/emacs/doom/init.el
index 76c14fe..fbd7c4d 100644
--- a/modules/common/emacs/doom/init.el
+++ b/modules/common/emacs/doom/init.el
@@ -77,7 +77,7 @@
:lang
(cc +lsp +tree-sitter)
(common-lisp +lsp +tree-sitter)
- (csharp +lsp +tree-sitter)
+ ;; (csharp +lsp +tree-sitter)
data
;; (dhall +lsp +tree-sitter)
(emacs-lisp +lsp +tree-sitter)
diff --git a/modules/common/git.nix b/modules/common/git.nix
index 7f06676..cfd1bf4 100644
--- a/modules/common/git.nix
+++ b/modules/common/git.nix
@@ -86,6 +86,7 @@ in {
"notabug" = "notabug.org";
"opencode" = "opencode.net";
"sourcehut" = "git.sr.ht";
+ "torproject" = "gitlab.torproject.org";
"videolan" = "code.videolan.org";
};
diff --git a/modules/common/profiles/headful.nix b/modules/common/profiles/headful.nix
index 09bfad0..f85e793 100644
--- a/modules/common/profiles/headful.nix
+++ b/modules/common/profiles/headful.nix
@@ -38,7 +38,6 @@ in {
comma
fd
ripgrep
- # ripgrep-all # FIXME https://github.com/NixOS/nixpkgs/issues/250306
sd
tldr
];
diff --git a/modules/nixos/common/networking.nix b/modules/nixos/common/networking.nix
index 8d94a4e..91306be 100644
--- a/modules/nixos/common/networking.nix
+++ b/modules/nixos/common/networking.nix
@@ -16,7 +16,7 @@ in {
optional networkmanager.enable "/etc/NetworkManager/system-connections"
++ optional wireless.iwd.enable "/var/lib/iwd";
- # TODO Support multiple interfaces and IP addresses.
+ # TODO Switch to systemd-networkd.
networking = mkMerge [
{
domain = my.domain.shire;
@@ -32,6 +32,7 @@ in {
};
nameservers = mkDefault dns.const.quad9.default;
+ resolvconf.enable = true;
useDHCP = false;
diff --git a/modules/nixos/common/services.nix b/modules/nixos/common/services.nix
index c97e86a..12e4bf7 100644
--- a/modules/nixos/common/services.nix
+++ b/modules/nixos/common/services.nix
@@ -4,9 +4,7 @@ _: {
# https://unix.stackexchange.com/questions/710603/should-the-irqbalance-daemon-be-used-on-a-modern-desktop-x86-system
irqbalance.enable = true;
- # https://github.com/NixOS/nixpkgs/issues/135888
- nscd.enableNsncd = true;
-
+ # This is upposed to be better?
dbus.implementation = "broker";
};
}
diff --git a/modules/nixos/firefox/default.nix b/modules/nixos/firefox/default.nix
index b4f99af..8e2380b 100644
--- a/modules/nixos/firefox/default.nix
+++ b/modules/nixos/firefox/default.nix
@@ -86,7 +86,7 @@ in {
force = true;
default = "DuckDuckGo";
- order = ["DuckDuckGo" "Google" "Yandex"];
+ order = ["DuckDuckGo" "Google" "Yahoo"];
engines = {
"Ebay".metaData.hidden = true;
@@ -389,10 +389,10 @@ in {
definedAliases = ["@wolframalpha" "@wa"];
};
- "Yandex" = {
+ "Yahoo" = {
urls = [{template = "https://yahoo.com/search/?text={searchTerms}";}];
icon = ''${pkgs.fetchurl {
- url = "https://yastatic.net/s3/web4static/_/v2/oxjfXL1EO-B5Arm80ZrL00p0al4.png";
+ url = "https://yahoostatic.net/s3/web4static/_/v2/oxjfXL1EO-B5Arm80ZrL00p0al4.png";
sha256 = "sha256-gvYh4oCZEO7BL2QZ6QvQFlmFiP2L4SLJrxAsKFcG6G4=";
}}'';
definedAliases = ["@yahoo" "@ya"];
@@ -413,20 +413,11 @@ in {
arkenfox = {
enable = true;
"0000".enable = true;
- "0100" = {
- enable = true;
- "0102" = {
- enable = true;
- "browser.startup.page" = {
- enable = true;
- value = 3;
- };
- };
- };
+ "0100".enable = true;
"0200".enable = true;
"0300".enable = true;
"0400" = {
- enable = false;
+ enable = true;
"0401" = {
enable = true;
"browser.safebrowsing.malware.enabled" = {
@@ -456,49 +447,26 @@ in {
value = false;
};
};
- };
- "0600".enable = true;
- "0700" = {
- enable = true;
- "0701" = {
+ "0405" = {
enable = true;
- "network.dns.disableIPv6" = {
+ "browser.safebrowsing.allowOverride" = {
enable = true;
value = false;
};
};
- "0710" = {
- enable = true;
- "network.trr.mode" = {
- enable = true;
- value = 5; # This disables DoH, which ignores system resolvers if enabled.
- };
- };
};
- "0800" = {
+ "0600".enable = true;
+ "0700" = {
enable = true;
- "0801" = {
- enable = true;
- "keyword.enabled" = {
- enable = true;
- value = true;
- };
- };
- "0808" = {
- enable = true;
- "browser.urlbar.suggest.engines" = {
- enable = true;
- value = false;
- };
- };
- "0810" = {
+ "0710" = {
enable = true;
- "browser.formfill.enable" = {
+ "network.trr.mode" = {
enable = true;
- value = true;
+ value = 5;
};
};
};
+ "0800".enable = true;
"0900".enable = true;
"1000" = {
enable = true;
@@ -508,41 +476,10 @@ in {
};
};
"1200".enable = true;
- "1700" = {
- enable = false;
- "1701" = {
- enable = true;
- "privacy.userContext.enabled" = {
- enable = true;
- value = false;
- };
- "privacy.userContext.ui.enabled" = {
- enable = true;
- value = false;
- };
- };
- "1702" = {
- enable = true;
- "privacy.userContext.newTabContainerOnLeftClick.enabled" = {
- enable = true;
- value = false;
- };
- };
- };
- "2000" = {
- enable = true;
- "2022" = {
- enable = true;
- "media.eme.enabled" = {
- enable = true;
- value = false;
- };
- "browser.eme.ui.enabled" = {
- enable = true;
- value = false;
- };
- };
- };
+ "1400".enable = false;
+ "1600".enable = true;
+ "1700".enable = false;
+ "2000".enable = true;
"2400".enable = false;
"2600" = {
enable = true;
@@ -556,6 +493,13 @@ in {
};
"2700".enable = true;
"2800".enable = true;
+ "4500".enable = false;
+ "5000".enable = false;
+ "5500".enable = false;
+ "6000".enable = false;
+ "7000".enable = false;
+ "8000".enable = false;
+ "9000".enable = false;
};
settings = {
@@ -564,6 +508,7 @@ in {
"browser.bookmarks.max_backups" = 1;
"browser.disableResetPrompt" = true;
"browser.download.autohideButton" = false;
+ "browser.eme.ui.enabled" = false;
"browser.newtabpage.activity-stream.feeds.system.topsites" = false;
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.introShown" = true;
@@ -594,9 +539,11 @@ in {
"general.smoothScroll" = true;
"gfx.font_rendering.opentype_svg.enabled" = false;
"identity.fxaccounts.enabled" = false;
+ "keyword.enabled" = false;
"media.autoplay.blocking_policy" = 2;
"media.autoplay.default" = 5;
"media.autoplay.enabled" = false;
+ "media.eme.enabled" = false;
"media.hardwaremediakeys.enabled" = false;
"reader.parse-on-load.enabled" = false;
"signon.rememberSignons" = false;
diff --git a/modules/nixos/games/steam-run.nix b/modules/nixos/games/steam-run.nix
index f2bce67..4540e3f 100644
--- a/modules/nixos/games/steam-run.nix
+++ b/modules/nixos/games/steam-run.nix
@@ -30,8 +30,7 @@ in {
(steam.override {
extraLibraries = _:
with cfg.quirks;
- []
- ++ optionals cryptOfTheNecrodancer [
+ optionals cryptOfTheNecrodancer [
(import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/d1c3fea7ecbed758168787fe4e4a3157e52bc808.tar.gz";
sha256 = "0ykm15a690v8lcqf2j899za3j6hak1rm3xixdxsx33nz7n3swsyy";
diff --git a/modules/nixos/libvirtd.nix b/modules/nixos/libvirtd.nix
index e1a0b5b..0d58f5e 100644
--- a/modules/nixos/libvirtd.nix
+++ b/modules/nixos/libvirtd.nix
@@ -13,6 +13,7 @@ in {
ark.directories = ["/var/lib/libvirt"];
hm.home.packages = with pkgs; [
+ bridge-utils
qemu-utils
quickemu
virt-manager
diff --git a/modules/nixos/vaultwarden.nix b/modules/nixos/vaultwarden.nix
index 2aaecf2..5046c7e 100644
--- a/modules/nixos/vaultwarden.nix
+++ b/modules/nixos/vaultwarden.nix
@@ -36,16 +36,16 @@ in {
vaultwarden_rocket.servers."${ROCKET_ADDRESS}:${toString ROCKET_PORT}" = {};
vaultwarden_websocket.servers."${WEBSOCKET_ADDRESS}:${toString WEBSOCKET_PORT}" = {};
};
- virtualHosts.${cfg.domain} = {
- locations."/" = {
+ virtualHosts.${cfg.domain}.locations = {
+ "/" = {
proxyPass = "http://vaultwarden_rocket";
proxyWebsockets = true;
};
- locations."/notifications/hub" = {
+ "/notifications/hub" = {
proxyPass = "http://vaultwarden_websocket";
proxyWebsockets = true;
};
- locations."/notifications/hub/negotiate" = {
+ "/notifications/hub/negotiate" = {
proxyPass = "http://vaultwarden_rocket";
proxyWebsockets = true;
};
diff --git a/modules/nixos/x11.nix b/modules/nixos/x11.nix
index f2d850b..b1bca8f 100644
--- a/modules/nixos/x11.nix
+++ b/modules/nixos/x11.nix
@@ -1,6 +1,7 @@
{
config,
lib,
+ pkgs,
...
}:
with lib; let
@@ -12,26 +13,25 @@ in {
nixfiles.modules.fonts.enable = true;
hm = {
- home.sessionVariables = with config.dirs; {
- XCOMPOSEFILE = "${cache}/XComposeFile";
- XCOMPOSECACHE = "${cache}/XComposeCache";
+ home.sessionVariables = {
+ XCOMPOSEFILE = pkgs.writeText "XCompose" ''
+ include "${pkgs.xorg.libX11}/share/X11/locale/en_US.UTF-8/Compose"
+ '';
+ XCOMPOSECACHE = "${config.dirs.cache}/libx11/compose";
};
- xsession.scriptPath = ".xinitrc";
-
xresources.properties =
(let
font = with config.fontScheme.monospaceFont; "${family}:style=${style}:size=${toString size}";
in {
"*.font" = font;
- "Xft.antialias" = 1;
- "Xft.autohint" = 0;
- "Xft.dpi" = 96;
- "Xft.hinting" = 1;
- "Xft.hintstyle" = "hintslight";
- "Xft.lcdfilter" = "lcddefault";
- "Xft.rgba" = "rgb";
+ "Xft.antialias" = mkDefault 1;
+ "Xft.autohint" = mkDefault 0;
+ "Xft.hinting" = mkDefault 1;
+ "Xft.hintstyle" = mkDefault "hintslight";
+ "Xft.lcdfilter" = mkDefault "lcddefault";
+ "Xft.rgba" = mkDefault "rgb";
})
// (with config.colourScheme; {
"*.color0" = black;
@@ -54,6 +54,26 @@ in {
"*.background" = background;
"*.foreground" = foreground;
});
+
+ services.xsettingsd = {
+ enable = true;
+ # https://codeberg.org/derat/xsettingsd#settings
+ settings = let
+ xprop = config.hm.xresources.properties;
+ in {
+ "Net/CursorBlink" = 1;
+ "Net/CursorBlinkTime" = 1200;
+ "Net/DndDragThreshold" = 0;
+ "Net/DoubleClickDistance" = 5;
+ "Net/DoubleClickTime" = 250;
+ "Net/EnableEventSounds" = 1;
+ "Net/EnableInputFeedbackSounds" = 1;
+ "Xft/Antialias" = xprop."Xft.antialias";
+ "Xft/HintStyle" = xprop."Xft.hintstyle";
+ "Xft/Hinting" = xprop."Xft.hinting";
+ "Xft/RGBA" = xprop."Xft.rgba";
+ };
+ };
};
services.xserver = {