Compare commits

...

8 Commits

Author SHA1 Message Date
afd1d00116 README.md: update
Signed-off-by: unexplrd <unexplrd@linerds.us>
2025-05-22 09:55:19 +03:00
14eaee2bbc desktop/niri: switch polkit-gnome to soteria, update layout, keybinds
Signed-off-by: unexplrd <unexplrd@linerds.us>
2025-05-22 09:55:19 +03:00
43334d6dbd config/nix: fix
Signed-off-by: unexplrd <unexplrd@linerds.us>
2025-05-22 09:55:19 +03:00
d70b2f7f8a hosts: bump system.stateVersion
flake.lock: bump

Signed-off-by: unexplrd <unexplrd@linerds.us>
2025-05-22 09:55:19 +03:00
38579e3cb4 config/security: new sysctls
Signed-off-by: unexplrd <unexplrd@linerds.us>
2025-05-22 09:55:19 +03:00
6658a54631 user/programs.nix: new programs
Signed-off-by: unexplrd <unexplrd@linerds.us>
2025-05-22 09:55:19 +03:00
9d51e09afe editor/zed: add fsharp
Signed-off-by: unexplrd <unexplrd@linerds.us>
2025-05-22 09:55:19 +03:00
30fcac5ff6 hosts/dunamis: switch theme
Signed-off-by: unexplrd <unexplrd@linerds.us>
2025-05-22 09:55:19 +03:00
14 changed files with 169 additions and 101 deletions

View File

@ -1,6 +1,15 @@
<h1>So what is this?</h1> # NixOS Configuration
<p>This is a personal config based on <a href="https://github.com/numtide/blueprint">Blueprint</a>, and it's pretty usable. If one wants to use it, they have to change and adapt it for their own use case, for that please visit the original repo, as it contains the necessary documentation.</p> ## So what is this?
<h2>TODOs:</h2>
<ul> This is a personal NixOS config based on
<li>i'll put that in when i recall what i wanted to add</li> [Blueprint](https://github.com/numtide/blueprint).
</ul> This repo is mainly used to sync changes between devices. If you want to
use it - it's pretty composable, so modules can be integrated in your
configs without much hassle.
## Credits
Configurations I took code/ideas from:
- [github:TheMaxMur/NixOS-Configuration](https://github.com/TheMaxMur/NixOS-Configuration)
- [github:nix-community/srvos](https://github.com/nix-community/srvos)
- [github:cloud-gouv/securix](https://github.com/cloud-gouv/securix)
Thx a lot <3

102
flake.lock generated
View File

@ -132,11 +132,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747157759, "lastModified": 1747823570,
"narHash": "sha256-8qQqCX80Xumu/x0fbOkzmveNAJXOAelf/K3hOSBpOh0=", "narHash": "sha256-aYDO6La5fuG5xzVYBFfoheWukwggcyh3LlfI0p+RnHw=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "ba96c160ca011c9407c554237a2451fe623cf3fc", "rev": "2ab29fd77896a69a77bb98fd792fb6102f44b449",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -191,11 +191,11 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1747118403, "lastModified": 1747392669,
"narHash": "sha256-6LDKrSTxPmh9c1f79ixqIwg6mlXE2FKwi11x9GNPKhA=", "narHash": "sha256-zky3+lndxKRu98PAwVK8kXPdg+Q1NVAhaI7YGrboKYA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "01daa5be6a29caab8b6831b0e936750ea66d463d", "rev": "c3c27e603b0d9b5aac8a16236586696338856fbb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -494,11 +494,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747147271, "lastModified": 1747565775,
"narHash": "sha256-ORthkM8I3GpWDK/pjOSXPuxWjLJV2AwWERKQCsjPPAk=", "narHash": "sha256-B6jmKHUEX1jxxcdoYHl7RVaeohtAVup8o3nuVkzkloA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "df556f2a17b7b94148d0275c1a57fed20e62ad18", "rev": "97118a310eb8e13bc1b9b12d67267e55b7bee6c8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -514,11 +514,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747279714, "lastModified": 1747793476,
"narHash": "sha256-UdxlE8yyrKiGq3bgGyJ78AdFwh+fuRAruKtyFY5Zq5I=", "narHash": "sha256-2qAOSixSrbb9l6MI+SI4zGineOzDcc2dgOOFK9Dx+IY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "954615c510c9faa3ee7fb6607ff72e55905e69f2", "rev": "2468b2d35512d093aeb04972a1d8c20a0735793f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -624,11 +624,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1747247479, "lastModified": 1747610850,
"narHash": "sha256-y+S9IsF+VbGPvSh/Xr/Qbz1/xGtpsU4DbEE+PnvKg8I=", "narHash": "sha256-b41pc9J8b9fxRFHBQRKoTXZHpAsKW5eJbNsTMris2Mo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "75f2cb5f6559ca6ca7c6300b270e5ddc3fdabe31", "rev": "eb3b38d40baca5c05ddbc1507b3d3f02a0ccb164",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -873,11 +873,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747109298, "lastModified": 1747466853,
"narHash": "sha256-v6P2Lm2ucRhFpVdY2feQKxJIGfaud3CVHV5GWoCNji8=", "narHash": "sha256-/evYltwuF8Kz1odgocWnguh/8VQV1i76VB4yMTU9m7k=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "7ceb01d01e02fa55699db1ecb99df1295b47b499", "rev": "0ba1a34fa6d995fe433109f0ad66de8d5613d46e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -973,11 +973,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1746934494, "lastModified": 1747540584,
"narHash": "sha256-3n6i+F0sDASjkhbvgFDpPDZGp7z19IrRtjfF9TwJpCA=", "narHash": "sha256-cxCQ413JTUuRv9Ygd8DABJ1D6kuB/nTfQqC0Lu9C0ls=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "e9b21b01e4307176b9718a29ac514838e7f6f4ff", "rev": "ec179dd13fb7b4c6844f55be91436f7857226dce",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -994,11 +994,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1747220948, "lastModified": 1747826251,
"narHash": "sha256-5aNGtHi4mH9ZBB4cFMgRtmuKWH2afNHJHl9RBvt3J3E=", "narHash": "sha256-Fe4AXmnnAKnh/wIe1ao4Pv/8m6WGA1ujwp6VApgos30=",
"owner": "lilyinstarlight", "owner": "lilyinstarlight",
"repo": "nixos-cosmic", "repo": "nixos-cosmic",
"rev": "b9afbbf3055d46ec2983ce0cc0d59c544fdb746d", "rev": "9a67b4a289cd8994080398d40b57cfde8e8cfb0a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1024,11 +1024,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1746904237, "lastModified": 1747744144,
"narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1056,11 +1056,11 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1746957726, "lastModified": 1747676747,
"narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=", "narHash": "sha256-LXkWBVqilgx7Pohwqu/ABxDVw+Cmi5/Mj2S2mpUH0Fw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a39ed32a651fdee6842ec930761e31d1f242cb94", "rev": "72841a4a8761d1aed92ef6169a636872c986c76d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1072,11 +1072,11 @@
}, },
"nixpkgs-stable_3": { "nixpkgs-stable_3": {
"locked": { "locked": {
"lastModified": 1746957726, "lastModified": 1747676747,
"narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=", "narHash": "sha256-LXkWBVqilgx7Pohwqu/ABxDVw+Cmi5/Mj2S2mpUH0Fw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a39ed32a651fdee6842ec930761e31d1f242cb94", "rev": "72841a4a8761d1aed92ef6169a636872c986c76d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1088,11 +1088,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1747179050, "lastModified": 1747744144,
"narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e", "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1151,11 +1151,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1746537231, "lastModified": 1747372754,
"narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=", "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "fa466640195d38ec97cf0493d6d6882bc4d14969", "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1215,11 +1215,11 @@
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1746889290, "lastModified": 1747323949,
"narHash": "sha256-h3LQYZgyv2l3U7r+mcsrEOGRldaK0zJFwAAva4hV/6g=", "narHash": "sha256-G4NwzhODScKnXqt2mEQtDFOnI0wU3L1WxsiHX3cID/0=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "2bafe9d96c6734aacfd49e115f6cf61e7adc68bc", "rev": "f8e784353bde7cbf9a9046285c1caf41ac484ebe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1258,11 +1258,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747190175, "lastModified": 1747795013,
"narHash": "sha256-s33mQ2s5L/2nyllhRTywgECNZyCqyF4MJeM3vG/GaRo=", "narHash": "sha256-c7i0xJ+xFhgjO9SWHYu5dF/7lq63RPDvwKAdjc6VCE4=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "58160be7abad81f6f8cb53120d5b88c16e01c06d", "rev": "6b1cf12374361859242a562e1933a7930649131a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1278,11 +1278,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1746485181, "lastModified": 1747603214,
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=", "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=",
"owner": "mic92", "owner": "mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386", "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1514,11 +1514,11 @@
"systems": "systems_5" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1746253489, "lastModified": 1747746261,
"narHash": "sha256-Lsegrsus7oZLLglhjYDUWKSh544Rylkc9y2GBnsD4TE=", "narHash": "sha256-qZ9AwEiAB2GkSLBR23NUVi35TWhcy7lTFEdGHXLAr94=",
"owner": "abenz1267", "owner": "abenz1267",
"repo": "walker", "repo": "walker",
"rev": "65fd786cf25c207efe0b5f2963d4cb5b2125bc22", "rev": "0fed5e4af1530ede04da6d18e0d3bd423f7caceb",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -18,7 +18,7 @@
}; };
environment.memoryAllocator.provider = "mimalloc"; environment.memoryAllocator.provider = "mimalloc";
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "Europe/Kyiv"; time.timeZone = "Europe/Kyiv";
desktop.niri.enable = true; desktop.niri.enable = true;
@ -31,7 +31,7 @@
}; };
stylix = { stylix = {
enable = true; enable = true;
theme = "rose-pine-dawn"; theme = "rose-pine-moon";
}; };
}; };

View File

@ -49,6 +49,7 @@
nix-your-shell.enable = true; nix-your-shell.enable = true;
pay-respects.enable = true; # thefuck in rust pay-respects.enable = true; # thefuck in rust
ripgrep.enable = true; # grep in rust ripgrep.enable = true; # grep in rust
zk.enable = true;
zoxide.enable = true; # fuzzy cd in rust zoxide.enable = true; # fuzzy cd in rust
}; };
@ -72,6 +73,7 @@
procs # ps in rust procs # ps in rust
rbw # bitwarden cli in rust rbw # bitwarden cli in rust
sd # sed in rust sd # sed in rust
systemctl-tui # systemctl tui in rust
trashy # trash cli in rust trashy # trash cli in rust
] ]
++ [ ++ [

View File

@ -14,7 +14,7 @@
}; };
environment.memoryAllocator.provider = "mimalloc"; environment.memoryAllocator.provider = "mimalloc";
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "Europe/Kyiv"; time.timeZone = "Europe/Kyiv";
desktop.plasma.enable = true; desktop.plasma.enable = true;

View File

@ -17,7 +17,7 @@
}; };
environment.memoryAllocator.provider = "mimalloc"; environment.memoryAllocator.provider = "mimalloc";
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "Europe/Kyiv"; time.timeZone = "Europe/Kyiv";
desktop.niri.enable = true; desktop.niri.enable = true;

View File

@ -16,7 +16,7 @@
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
environment.memoryAllocator.provider = "mimalloc"; environment.memoryAllocator.provider = "mimalloc";
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "Europe/Kyiv"; time.timeZone = "Europe/Kyiv";
desktop.niri.enable = true; desktop.niri.enable = true;

View File

@ -161,14 +161,14 @@ in {
Service = Service =
mkDefault graphicalService.Service; mkDefault graphicalService.Service;
}; };
gnome-polkit-agent = mkGraphicalService { # gnome-polkit-agent = mkGraphicalService {
Service = # Service =
graphicalService.Service # graphicalService.Service
// { # // {
Type = "simple"; # Type = "simple";
ExecStart = pkgs.polkit_gnome + "/libexec/polkit-gnome-authentication-agent-1"; # ExecStart = pkgs.polkit_gnome + "/libexec/polkit-gnome-authentication-agent-1";
}; # };
}; # };
}; };
}; };
}; };

View File

@ -104,15 +104,11 @@ in {
keyboard { keyboard {
xkb { xkb {
layout "us,ua" layout "us,ua"
${ variant "colemak_dh_ortho,"
if (hostName == "dunamis" || hostName == "legion") }
then "// variant \"colemak_dh_ortho,\"" repeat-delay 200
else "variant \"colemak_dh_ortho,\"" repeat-rate 50
} track-layout "global"
}
repeat-delay 200
repeat-rate 50
track-layout "global"
} }
touchpad { touchpad {
// off // off
@ -174,6 +170,7 @@ in {
proportion 0.66667 proportion 0.66667
} }
background-color "transparent"
// default-column-width { proportion 0.9; } // default-column-width { proportion 0.9; }
default-column-width { proportion 0.5; } default-column-width { proportion 0.5; }
tab-indicator { tab-indicator {
@ -227,6 +224,20 @@ in {
} }
} }
// Make the wallpaper stationary, rather than moving with workspaces.
layer-rule {
// This is for swaybg; change for other wallpaper tools.
// Find the right namespace by running niri msg layers.
match namespace="^wallpaper$"
place-within-backdrop true
}
// Optionally, disable the workspace shadows in the overview.
overview {
workspace-shadow {
off
}
}
screenshot-path "${xdgPics}/screenshots/screenshot-%Y-%m-%d-%H-%M-%S.png" screenshot-path "${xdgPics}/screenshots/screenshot-%Y-%m-%d-%H-%M-%S.png"
animations { animations {
@ -284,6 +295,8 @@ in {
Mod+Ctrl+M { fullscreen-window; } Mod+Ctrl+M { fullscreen-window; }
Mod+Ctrl+G { toggle-window-floating; } Mod+Ctrl+G { toggle-window-floating; }
Mod+Ctrl+Shift+M { toggle-windowed-fullscreen; }
Mod+Minus { set-column-width "-10%"; } Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; } Mod+Equal { set-column-width "+10%"; }
Mod+Comma { set-column-width "-10%"; } Mod+Comma { set-column-width "-10%"; }
@ -291,12 +304,15 @@ in {
Mod+Shift+Comma { set-window-height "-10%"; } Mod+Shift+Comma { set-window-height "-10%"; }
Mod+Shift+Period { set-window-height "+10%"; } Mod+Shift+Period { set-window-height "+10%"; }
Mod+Escape { switch-layout "next"; } Mod+Space { switch-layout "next"; }
Mod+Ctrl+Space repeat=false { toggle-overview; }
Mod+Return repeat=false { spawn "sh" "-c" "$TERMINAL"; } Mod+Return repeat=false { spawn "sh" "-c" "$TERMINAL"; }
Mod+Space repeat=false { spawn "${launcher}"; } Mod+BackSpace repeat=false { spawn "${launcher}"; }
Mod+Ctrl+L repeat=false { spawn "${lockscreen}"; } Mod+A repeat=false { spawn "${launcher}"; }
Mod+Ctrl+V repeat=false { spawn "copyq" "toggle"; } Mod+Ctrl+L repeat=false { spawn "${lockscreen}"; }
Mod+Ctrl+V repeat=false { spawn "copyq" "toggle"; }
Mod+Shift+W repeat=false { spawn "walker" "-m" "windows"; } Mod+Shift+W repeat=false { spawn "walker" "-m" "windows"; }

View File

@ -63,7 +63,7 @@ in {
languages = { languages = {
language-server = { language-server = {
clangd.command = "${pkgs.clang-tools}/bin/clangd"; clangd.command = "${pkgs.clang-tools}/bin/clangd";
markdown-oxide.command = getExe pkgs.markdown-oxide; # markdown-oxide.command = getExe pkgs.markdown-oxide;
# nil.command = getExe pkgs.nil; # nil.command = getExe pkgs.nil;
nixd.command = getExe pkgs.nixd; nixd.command = getExe pkgs.nixd;
# pyright.command = getExe pkgs.pyright; # pyright.command = getExe pkgs.pyright;
@ -73,6 +73,10 @@ in {
# rust-analyzer.command = getExe pkgs.rust-analyzer; # rust-analyzer.command = getExe pkgs.rust-analyzer;
# texlab.command = getExe pkgs.texlab; # texlab.command = getExe pkgs.texlab;
tinymist.command = getExe pkgs.tinymist; tinymist.command = getExe pkgs.tinymist;
zk = {
command = getExe pkgs.zk;
args = ["lsp"];
};
fsac.command = getExe pkgs.fsautocomplete; fsac.command = getExe pkgs.fsautocomplete;
fsac.config = { fsac.config = {
# editor.formatOnSave = true; # editor.formatOnSave = true;
@ -106,7 +110,7 @@ in {
name = "markdown"; name = "markdown";
# auto-format = true; # auto-format = true;
# formatter.command = "${pkgs.comrak}/bin/comrak"; # formatter.command = "${pkgs.comrak}/bin/comrak";
language-servers = ["markdown-oxide"]; language-servers = ["zk" "markdown-oxide"];
} }
{ {
name = "c"; name = "c";

View File

@ -16,7 +16,8 @@ in {
enable = true; enable = true;
extensions = [ extensions = [
"nix" "nix"
"latex" "fsharp"
# "latex"
"typst" "typst"
"justfile" "justfile"
]; ];
@ -24,9 +25,14 @@ in {
vim_mode = true; vim_mode = true;
ui_font_size = mkForce 16; ui_font_size = mkForce 16;
buffer_font_size = mkForce 16; buffer_font_size = mkForce 16;
features = {inline_completion_provider = "none";}; # features = {inline_completion_provider = "none";};
auto_update = false; auto_update = false;
languages = { languages = {
"FSharp" = {
language-servers = [
"fsautocomplete"
];
};
"Nix" = { "Nix" = {
language-servers = [ language-servers = [
"!nil" "!nil"
@ -67,6 +73,18 @@ in {
}; };
}; };
lsp = { lsp = {
fsautocomplete = {
binary = {
path = getExe pkgs.fsautocomplete;
};
settings = {
AutomaticWorkspaceInit = true;
FSharp.ExternalAutocomplete = true;
FSharp.linting.fsharplint.enabled = true;
FSharp.linting.fsharplint.configFile = "fsharplint.json";
FSharp.formatting.fantomas.enabled = true;
};
};
clangd = { clangd = {
binary = { binary = {
arguments = []; arguments = [];
@ -92,19 +110,19 @@ in {
}; };
initialization_options.formatting.command = [(getExe pkgs.alejandra)]; initialization_options.formatting.command = [(getExe pkgs.alejandra)];
}; };
nil = { # nil = {
binary = { # binary = {
arguments = []; # arguments = [];
path = getExe pkgs.nil; # path = getExe pkgs.nil;
}; # };
initialization_options.formatting.command = [(getExe pkgs.alejandra)]; # initialization_options.formatting.command = [(getExe pkgs.alejandra)];
}; # };
texlab = { # texlab = {
binary = { # binary = {
arguments = []; # arguments = [];
path = getExe pkgs.texlab; # path = getExe pkgs.texlab;
}; # };
}; # };
tinymist = { tinymist = {
binary = { binary = {
arguments = []; arguments = [];

View File

@ -19,7 +19,7 @@
"fetch-closure" "fetch-closure"
# Allow derivation builders to call Nix, and thus build derivations recursively. # Allow derivation builders to call Nix, and thus build derivations recursively.
"recursive-nix" # "recursive-nix"
# Allow the use of the impure-env setting. # Allow the use of the impure-env setting.
# "configurable-impure-env" # "configurable-impure-env"

View File

@ -50,6 +50,24 @@ in {
#}; #};
}; };
boot.kernel.sysctl = {
"dev.tty.ldisc_autoload" = 0;
"fs.protected_fifos" = 2;
"fs.protected_regular" = 2;
"fs.suid_dumpable" = 0;
"kernel.kptr_restrict" = 2;
# "kernel.modules_disabled" = 1;
"kernel.sysrq" = 0;
"kernel.unprivileged_bpf_disabled" = 1;
"net.ipv4.conf.all.forwarding" = 0;
"net.ipv4.conf.all.log_martians" = 1;
"net.ipv4.conf.all.rp_filter" = 1;
"net.ipv4.conf.all.send_redirects" = 0;
"net.ipv4.conf.default.accept_redirects" = 0;
"net.ipv4.conf.default.log_martians" = 1;
"net.ipv6.conf.all.accept_redirects" = 0;
"net.ipv6.conf.default.accept_redirects" = 0;
};
boot.kernelParams = [ boot.kernelParams = [
"amd_iommu=force_isolation" "amd_iommu=force_isolation"
"debugfs=off" "debugfs=off"

View File

@ -19,6 +19,7 @@ in {
gcr_4 gcr_4
]; ];
fonts.fontDir.enable = true; fonts.fontDir.enable = true;
security.soteria.enable = true;
security.pam = { security.pam = {
services.greetd.enableGnomeKeyring = true; services.greetd.enableGnomeKeyring = true;
services.gtklock = {}; services.gtklock = {};