Additional Helix & Niri configuration. Various cleanups
This commit is contained in:
18
flake.lock
generated
18
flake.lock
generated
@@ -375,11 +375,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769132734,
|
"lastModified": 1771683283,
|
||||||
"narHash": "sha256-gmU9cRplrQWqoback9PgQX7Dlsdx8JlhlVZwf0q1F7E=",
|
"narHash": "sha256-WxAEkAbo8dP7qiyPM6VN4ZGAxfuBVlNBNPkrqkrXVEc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d055b309a6277343cb1033a11d7500f0a0f669fc",
|
"rev": "c6ed3eab64d23520bcbb858aa53fe2b533725d4a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -515,11 +515,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769461804,
|
"lastModified": 1771369470,
|
||||||
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
|
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
|
"rev": "0182a361324364ae3f436a63005877674cf45efb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -552,11 +552,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770002874,
|
"lastModified": 1771434371,
|
||||||
"narHash": "sha256-UOjvZXyZLZv0dP9GZPjis8IRxmrIoMt8c25WGCt7+hU=",
|
"narHash": "sha256-1ivy5+FBZMSojnduPnG6K8w5EFxyP61vthmLXzfGwco=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-shell",
|
"repo": "noctalia-shell",
|
||||||
"rev": "a8d74633f6920b91edf102e33a812af8489e2c88",
|
"rev": "04589a4f58c7315b035633a274d1fc820d34c31a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
home.file.".face".source = ../../assets/profile-picture.jpg;
|
|
||||||
|
|
||||||
home.file."${config.xdg.userDirs.extraConfig.XDG_WALLPAPERS_DIR}" = {
|
|
||||||
source = ../../assets/wallpapers;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,5 @@
|
|||||||
{
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./assets.nix
|
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./helix.nix
|
./helix.nix
|
||||||
@@ -21,6 +17,6 @@
|
|||||||
./xdg.nix
|
./xdg.nix
|
||||||
./yazi.nix
|
./yazi.nix
|
||||||
./zed.nix
|
./zed.nix
|
||||||
./zen-browser.nix
|
# ./zen-browser.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,6 +117,22 @@
|
|||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = [ "@np" ];
|
definedAliases = [ "@np" ];
|
||||||
};
|
};
|
||||||
|
home-manager = {
|
||||||
|
name = "Home Manager";
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://home-manager-options.extranix.com";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@hm" ];
|
||||||
|
};
|
||||||
surugaya = {
|
surugaya = {
|
||||||
name = "Surugaya";
|
name = "Surugaya";
|
||||||
urls = [
|
urls = [
|
||||||
|
|||||||
@@ -26,15 +26,82 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
basedpyright
|
basedpyright # Python static type checker
|
||||||
ruff
|
ruff # Pyhton linter and formatter
|
||||||
isort
|
nixd # Nix language server
|
||||||
black
|
nixfmt # Nix formatter
|
||||||
nixd
|
rust-analyzer # Rust language server
|
||||||
nixfmt
|
rustfmt # Rust formmater
|
||||||
rust-analyzer
|
clippy # Rust linter
|
||||||
rustfmt
|
lldb # Debugger for llvm languages
|
||||||
|
marksman # Markdown language server
|
||||||
|
markdown-oxide # Markdown PKM language server
|
||||||
|
rumdl # Markdown linter and formatter
|
||||||
|
libclang # C language family frontend for LLVM
|
||||||
|
typescript-language-server # Typescript language server
|
||||||
|
vscode-langservers-extracted # HTML/CSS/JSON/ESLint language servers extracted from vscode
|
||||||
|
emmet-language-server # Emmet support based on LSP
|
||||||
|
prettier # Formatter for HTML/CSS/JSON/ESLint languages
|
||||||
|
superhtml # HTML Language Server and Templating Language Library
|
||||||
];
|
];
|
||||||
|
settings = {
|
||||||
|
editor = {
|
||||||
|
line-number = "relative";
|
||||||
|
cursorline = true;
|
||||||
|
auto-format = true;
|
||||||
|
completion-timeout = 5;
|
||||||
|
completion-trigger-len = 1;
|
||||||
|
bufferline = "always";
|
||||||
|
color-modes = true;
|
||||||
|
end-of-line-diagnostics = "hint";
|
||||||
|
lsp = {
|
||||||
|
display-inlay-hints = true;
|
||||||
|
};
|
||||||
|
cursor-shape = {
|
||||||
|
insert = "bar";
|
||||||
|
normal = "block";
|
||||||
|
select = "underline";
|
||||||
|
};
|
||||||
|
indent-guides = {
|
||||||
|
render = true;
|
||||||
|
skip-levels = 1;
|
||||||
|
};
|
||||||
|
soft-wrap = {
|
||||||
|
enable = true;
|
||||||
|
max-indent-retain = 80;
|
||||||
|
};
|
||||||
|
inline-diagnostics = {
|
||||||
|
cursor-line = "warning";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
keys =
|
||||||
|
let
|
||||||
|
arrow_keys = {
|
||||||
|
"up" = "jump_view_up";
|
||||||
|
"down" = "jump_view_down";
|
||||||
|
"left" = "jump_view_left";
|
||||||
|
"right" = "jump_view_right";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
normal = {
|
||||||
|
"C-y" =
|
||||||
|
":sh zellij run -n Yazi -c -f -x 10%% -y 10%% --width 80%% --height 80%% -- yazi-picker open %{buffer_name}";
|
||||||
|
}
|
||||||
|
// arrow_keys;
|
||||||
|
insert = {
|
||||||
|
"C-k" = "move_visual_line_up";
|
||||||
|
"C-j" = "move_visual_line_down";
|
||||||
|
"C-h" = "move_char_left";
|
||||||
|
"C-l" = "move_char_right";
|
||||||
|
}
|
||||||
|
// arrow_keys;
|
||||||
|
select = { } // arrow_keys;
|
||||||
|
};
|
||||||
|
theme = "catppuccin_mocha";
|
||||||
|
};
|
||||||
|
# Check https://github.com/helix-editor/helix/blob/master/languages.toml for default language configuration
|
||||||
|
# Only explictly set options you want to override / make explicit
|
||||||
languages = {
|
languages = {
|
||||||
language = [
|
language = [
|
||||||
{
|
{
|
||||||
@@ -45,10 +112,10 @@ in
|
|||||||
];
|
];
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "bash"; # We have to use bash to call both isort and black
|
command = "ruff";
|
||||||
args = [
|
args = [
|
||||||
"-c"
|
"format"
|
||||||
"isort --profile black - | black --quiet --line-length=79 -" # Line length of 79 in accordance with PEP 8
|
"-"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -62,75 +129,194 @@ in
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "rust";
|
name = "rust";
|
||||||
language-servers = [ "rust-analyzer" ];
|
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
roots = [
|
|
||||||
"Cargo.toml"
|
|
||||||
"Cargo.lock"
|
|
||||||
];
|
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "rustfmt";
|
command = "rustfmt";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "markdown";
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "rumdl";
|
||||||
|
args = [
|
||||||
|
"fmt"
|
||||||
|
"-"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "c";
|
||||||
|
file-types = [
|
||||||
|
"c"
|
||||||
|
"h"
|
||||||
|
]; # "h" is currently missing from the default config
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "clang-format";
|
||||||
|
args = [
|
||||||
|
"--style=WebKit"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "typescript";
|
||||||
|
language-servers = [
|
||||||
|
"typescript-language-server"
|
||||||
|
"vscode-eslint-language-server"
|
||||||
|
"emmet-language-server"
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "prettier";
|
||||||
|
args = [
|
||||||
|
"--parser"
|
||||||
|
"typescript"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "tsx";
|
||||||
|
language-servers = [
|
||||||
|
"typescript-language-server"
|
||||||
|
"vscode-eslint-language-server"
|
||||||
|
"emmet-language-server"
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "prettier";
|
||||||
|
args = [
|
||||||
|
"--parser"
|
||||||
|
"typescript"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "javascript";
|
||||||
|
language-servers = [
|
||||||
|
"typescript-language-server"
|
||||||
|
"vscode-eslint-language-server"
|
||||||
|
"emmet-language-server"
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "prettier";
|
||||||
|
args = [
|
||||||
|
"--parser"
|
||||||
|
"typescript"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "jsx";
|
||||||
|
language-servers = [
|
||||||
|
"typescript-language-server"
|
||||||
|
"vscode-eslint-language-server"
|
||||||
|
"emmet-language-server"
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "prettier";
|
||||||
|
args = [
|
||||||
|
"--parser"
|
||||||
|
"typescript"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "json";
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "prettier";
|
||||||
|
args = [
|
||||||
|
"--parser"
|
||||||
|
"json"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "jsonc";
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "prettier";
|
||||||
|
args = [
|
||||||
|
"--parser"
|
||||||
|
"jsonc"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "html";
|
||||||
|
language-servers = [
|
||||||
|
"vscode-html-language-server"
|
||||||
|
{
|
||||||
|
name = "superhtml";
|
||||||
|
except-features = [ "format" ];
|
||||||
|
}
|
||||||
|
"emmet-language-server"
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "prettier";
|
||||||
|
args = [
|
||||||
|
"--parser"
|
||||||
|
"html"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "css";
|
||||||
|
language-servers = [
|
||||||
|
"vscode-css-language-server"
|
||||||
|
"emmet-language-server"
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "prettier";
|
||||||
|
args = [
|
||||||
|
"--parser"
|
||||||
|
"css"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "scss";
|
||||||
|
language-servers = [
|
||||||
|
"vscode-css-language-server"
|
||||||
|
"emmet-language-server"
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "prettier";
|
||||||
|
args = [
|
||||||
|
"--parser"
|
||||||
|
"scss"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
language-server = {
|
language-server = {
|
||||||
basedpyright.config.python.analysis = {
|
basedpyright.config.python.analysis.typeCheckingMode = "strict";
|
||||||
typeCheckingMode = "strict";
|
rust-analyzer.config.check.command = "clippy";
|
||||||
|
emmet-language-server = {
|
||||||
|
command = "emmet-language-server";
|
||||||
|
args = [ "--stdio" ];
|
||||||
};
|
};
|
||||||
ruff = {
|
vscode-eslint-language-server = {
|
||||||
command = "ruff";
|
|
||||||
args = [ "server" ];
|
|
||||||
};
|
|
||||||
nixd = {
|
|
||||||
command = "nixd";
|
|
||||||
};
|
|
||||||
rust-analyzer = {
|
|
||||||
command = "rust-analyzer";
|
|
||||||
config = {
|
config = {
|
||||||
inlayHints = {
|
# Automatically fix ESLint errors
|
||||||
bindingModeHints.enable = false;
|
codeActionsOnSave = {
|
||||||
closingBraceHints.minLines = 10;
|
mode = "all";
|
||||||
closureReturnTypeHints.enable = "with_block";
|
"source.fixAll.eslint" = true;
|
||||||
discriminantHints.enable = "fieldless";
|
};
|
||||||
lifetimeElisionHints.enable = "skip_trivial";
|
quiet = false;
|
||||||
typeHints.hideClosureInitialization = false;
|
experimental = {
|
||||||
|
# Support for the modern ESLint configuration format
|
||||||
|
useFlatConfig = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
settings = {
|
|
||||||
editor = {
|
|
||||||
bufferline = "always";
|
|
||||||
completion-timeout = 5;
|
|
||||||
completion-trigger-len = 1;
|
|
||||||
line-number = "relative";
|
|
||||||
cursorline = true;
|
|
||||||
color-modes = true;
|
|
||||||
cursor-shape = {
|
|
||||||
insert = "bar";
|
|
||||||
normal = "block";
|
|
||||||
select = "underline";
|
|
||||||
};
|
|
||||||
lsp = {
|
|
||||||
display-inlay-hints = true;
|
|
||||||
};
|
|
||||||
indent-guides = {
|
|
||||||
render = true;
|
|
||||||
skip-levels = 1;
|
|
||||||
};
|
|
||||||
soft-wrap = {
|
|
||||||
enable = true;
|
|
||||||
max-indent-retain = 80;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
keys = {
|
|
||||||
normal = {
|
|
||||||
"C-y" =
|
|
||||||
":sh zellij run -n Yazi -c -f -x 10%% -y 10%% --width 80%% --height 80%% -- yazi-picker open %{buffer_name}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
theme = "catppuccin_mocha";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
{
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
services.kanshi = {
|
services.kanshi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -80,6 +80,8 @@ in
|
|||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Session menu";
|
hotkey-overlay.title = "Session menu";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Notifications
|
||||||
"Mod+N" = {
|
"Mod+N" = {
|
||||||
action.spawn = [
|
action.spawn = [
|
||||||
noctalia-shell
|
noctalia-shell
|
||||||
@@ -91,6 +93,17 @@ in
|
|||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Show notifications";
|
hotkey-overlay.title = "Show notifications";
|
||||||
};
|
};
|
||||||
|
"Mod+Ctrl+N" = {
|
||||||
|
action.spawn = [
|
||||||
|
noctalia-shell
|
||||||
|
"ipc"
|
||||||
|
"call"
|
||||||
|
"notifications"
|
||||||
|
"clear"
|
||||||
|
];
|
||||||
|
repeat = false;
|
||||||
|
hotkey-overlay.title = "Clear notifications";
|
||||||
|
};
|
||||||
|
|
||||||
# Media keys
|
# Media keys
|
||||||
"XF86AudioPrev" = {
|
"XF86AudioPrev" = {
|
||||||
@@ -292,28 +305,33 @@ in
|
|||||||
hotkey-overlay.title = "Decrease window height";
|
hotkey-overlay.title = "Decrease window height";
|
||||||
};
|
};
|
||||||
"Mod+Z" = {
|
"Mod+Z" = {
|
||||||
action.switch-focus-between-floating-and-tiling = { };
|
action.toggle-window-floating = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Toggle floating";
|
hotkey-overlay.title = "Toggle floating";
|
||||||
};
|
};
|
||||||
|
"Mod+T" = {
|
||||||
|
action.toggle-column-tabbed-display = { };
|
||||||
|
repeat = false;
|
||||||
|
hotkey-overlay.title = "Toggle tabbed column";
|
||||||
|
};
|
||||||
|
|
||||||
# Window and column movement
|
# Window and column movement
|
||||||
"Mod+Up" = {
|
"Mod+K" = {
|
||||||
action.focus-window-or-monitor-up = { };
|
action.focus-window-or-monitor-up = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Focus window up";
|
hotkey-overlay.title = "Focus window up";
|
||||||
};
|
};
|
||||||
"Mod+Down" = {
|
"Mod+J" = {
|
||||||
action.focus-window-or-monitor-down = { };
|
action.focus-window-or-monitor-down = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Focus window down";
|
hotkey-overlay.title = "Focus window down";
|
||||||
};
|
};
|
||||||
"Mod+Left" = {
|
"Mod+H" = {
|
||||||
action.focus-column-or-monitor-left = { };
|
action.focus-column-or-monitor-left = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Focus window left";
|
hotkey-overlay.title = "Focus window left";
|
||||||
};
|
};
|
||||||
"Mod+Right" = {
|
"Mod+L" = {
|
||||||
action.focus-column-or-monitor-right = { };
|
action.focus-column-or-monitor-right = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Focus window right";
|
hotkey-overlay.title = "Focus window right";
|
||||||
@@ -328,44 +346,44 @@ in
|
|||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Move window right";
|
hotkey-overlay.title = "Move window right";
|
||||||
};
|
};
|
||||||
"Mod+Shift+Up" = {
|
"Mod+Shift+K" = {
|
||||||
action.move-column-to-monitor-up = { };
|
action.move-column-to-monitor-up = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Move column up";
|
hotkey-overlay.title = "Move column up";
|
||||||
};
|
};
|
||||||
"Mod+Shift+Down" = {
|
"Mod+Shift+J" = {
|
||||||
action.move-column-to-monitor-down = { };
|
action.move-column-to-monitor-down = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Move column down";
|
hotkey-overlay.title = "Move column down";
|
||||||
};
|
};
|
||||||
"Mod+Shift+Left" = {
|
"Mod+Shift+H" = {
|
||||||
action.move-column-left-or-to-monitor-left = { };
|
action.move-column-left-or-to-monitor-left = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Move column left";
|
hotkey-overlay.title = "Move column left";
|
||||||
};
|
};
|
||||||
"Mod+Shift+Right" = {
|
"Mod+Shift+L" = {
|
||||||
action.move-column-right-or-to-monitor-right = { };
|
action.move-column-right-or-to-monitor-right = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Move column right";
|
hotkey-overlay.title = "Move column right";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
"Mod+Ctrl+Up" = {
|
"Mod+Ctrl+K" = {
|
||||||
action.focus-workspace-up = { };
|
action.focus-workspace-up = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Focus workspace up";
|
hotkey-overlay.title = "Focus workspace up";
|
||||||
};
|
};
|
||||||
"Mod+Ctrl+Down" = {
|
"Mod+Ctrl+J" = {
|
||||||
action.focus-workspace-down = { };
|
action.focus-workspace-down = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Focus workspace down";
|
hotkey-overlay.title = "Focus workspace down";
|
||||||
};
|
};
|
||||||
"Mod+Ctrl+Shift+Up" = {
|
"Mod+Ctrl+Shift+K" = {
|
||||||
action.move-column-to-workspace-up = { };
|
action.move-column-to-workspace-up = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Move column to workspace up";
|
hotkey-overlay.title = "Move column to workspace up";
|
||||||
};
|
};
|
||||||
"Mod+Ctrl+Shift+Down" = {
|
"Mod+Ctrl+Shift+J" = {
|
||||||
action.move-column-to-workspace-down = { };
|
action.move-column-to-workspace-down = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
hotkey-overlay.title = "Move column to workspace down";
|
hotkey-overlay.title = "Move column to workspace down";
|
||||||
@@ -381,13 +399,32 @@ in
|
|||||||
window-rules = [
|
window-rules = [
|
||||||
{
|
{
|
||||||
geometry-corner-radius = {
|
geometry-corner-radius = {
|
||||||
bottom-left = 5.0;
|
bottom-left = 10.0;
|
||||||
bottom-right = 5.0;
|
bottom-right = 10.0;
|
||||||
top-left = 5.0;
|
top-left = 10.0;
|
||||||
top-right = 5.0;
|
top-right = 10.0;
|
||||||
};
|
};
|
||||||
clip-to-geometry = true;
|
clip-to-geometry = true;
|
||||||
}
|
}
|
||||||
|
# Unfortunately windows like firefox extensions set their titles after spawning preventing
|
||||||
|
# the window rules from being applied. There is a script to fix this but it is pretty hacky.
|
||||||
|
# {
|
||||||
|
# matches = [
|
||||||
|
# {
|
||||||
|
# title = "^Extension:.*";
|
||||||
|
# app-id = "firefox";
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# open-floating = true;
|
||||||
|
# }
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ app-id = "foot"; }
|
||||||
|
{ app-id = "Alacritty"; }
|
||||||
|
];
|
||||||
|
opacity = 0.93;
|
||||||
|
default-column-width.proportion = 0.4;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
layer-rules = [
|
layer-rules = [
|
||||||
{
|
{
|
||||||
@@ -397,7 +434,7 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
prefer-no-csd = true;
|
prefer-no-csd = true;
|
||||||
screenshot-path = "${config.xdg.userDirs.extraConfig.XDG_SCREENSHOTS_DIR}/%Y%m%d-%H%M%S.png";
|
screenshot-path = "${config.xdg.userDirs.extraConfig.SCREENSHOTS}/%Y%m%d-%H%M%S.png";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {
|
||||||
skip-at-startup = true;
|
skip-at-startup = true;
|
||||||
};
|
};
|
||||||
@@ -406,13 +443,17 @@ in
|
|||||||
# { argv = [ "noctalia-shell" ]; }
|
# { argv = [ "noctalia-shell" ]; }
|
||||||
# ];
|
# ];
|
||||||
cursor = {
|
cursor = {
|
||||||
size = 16;
|
size = config.stylix.cursor.size;
|
||||||
theme = "catppuccin-mocha-dark-cursors";
|
theme = config.stylix.cursor.name;
|
||||||
hide-when-typing = true;
|
hide-when-typing = true;
|
||||||
};
|
};
|
||||||
gestures = {
|
gestures = {
|
||||||
hot-corners.enable = false;
|
hot-corners.enable = false;
|
||||||
};
|
};
|
||||||
|
xwayland-satellite = {
|
||||||
|
enable = true;
|
||||||
|
path = lib.getExe pkgs.xwayland-satellite-unstable;
|
||||||
|
};
|
||||||
environment = {
|
environment = {
|
||||||
"NIXOS_OZONE_WL" = "1";
|
"NIXOS_OZONE_WL" = "1";
|
||||||
};
|
};
|
||||||
@@ -420,7 +461,7 @@ in
|
|||||||
# Allows notification actions and window activation from Noctalia.
|
# Allows notification actions and window activation from Noctalia.
|
||||||
honor-xdg-activation-with-invalid-serial = { };
|
honor-xdg-activation-with-invalid-serial = { };
|
||||||
};
|
};
|
||||||
# Support for external 'inclues' sounds like it is in the works.
|
# Support for external 'includes' sounds like it is in the works.
|
||||||
# Will just have to wait until then for noctalia color scheme integration.
|
# Will just have to wait until then for noctalia color scheme integration.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,6 +14,8 @@
|
|||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
avatarImage = "~/.face";
|
avatarImage = "~/.face";
|
||||||
|
autoStartAuth = true;
|
||||||
|
allowPasswordWithFprintd = true;
|
||||||
};
|
};
|
||||||
location.name = "Washington DC";
|
location.name = "Washington DC";
|
||||||
bar = {
|
bar = {
|
||||||
@@ -45,6 +47,10 @@
|
|||||||
};
|
};
|
||||||
templates = {
|
templates = {
|
||||||
activeTemplates = [
|
activeTemplates = [
|
||||||
|
{
|
||||||
|
enabled = true;
|
||||||
|
id = "alacritty";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
enabled = true;
|
enabled = true;
|
||||||
id = "discord";
|
id = "discord";
|
||||||
@@ -91,7 +97,7 @@
|
|||||||
wallpaper = {
|
wallpaper = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
overviewEnabled = true;
|
overviewEnabled = true;
|
||||||
directory = "${config.xdg.userDirs.extraConfig.XDG_WALLPAPERS_DIR}";
|
directory = "${config.xdg.userDirs.extraConfig.WALLPAPERS}";
|
||||||
};
|
};
|
||||||
colorSchemes.predefinedScheme = "Catppuccin";
|
colorSchemes.predefinedScheme = "Catppuccin";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
programs.nix-jmu-cs345.enable = true;
|
programs.nix-jmu-cs345.enable = true;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
zoom-us
|
|
||||||
devenv
|
devenv
|
||||||
htop
|
htop
|
||||||
obsidian
|
obsidian
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
# Configuration options: https://github.com/jtheoof/swappy?tab=readme-ov-file#config
|
# Configuration options: https://github.com/jtheoof/swappy?tab=readme-ov-file#config
|
||||||
settings = {
|
settings = {
|
||||||
Default = {
|
Default = {
|
||||||
save_dir = config.xdg.userDirs.extraConfig.XDG_SCREENSHOTS_DIR;
|
save_dir = config.xdg.userDirs.extraConfig.SCREENSHOTS;
|
||||||
save_filename_format = "%Y%m%d-%H%M%S.png";
|
save_filename_format = "%Y%m%d-%H%M%S.png";
|
||||||
show_panel = false;
|
show_panel = false;
|
||||||
auto_save = false;
|
auto_save = false;
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
{
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -9,20 +9,28 @@
|
|||||||
inputs.stylix.homeModules.stylix
|
inputs.stylix.homeModules.stylix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Not really using stylix as it was intended because IMO it sets too many defaults for some
|
||||||
|
# programs and not enought for others, meaning I wind up setting a lot myself anyway. That
|
||||||
|
# being said it provides a nice structure for setting fonts, cursors, icons, etc.
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoEnable = false;
|
autoEnable = false;
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||||
cursor = {
|
cursor = {
|
||||||
name = "Catppuccin-Mocha-Dark-Cursors";
|
name = "catppuccin-mocha-dark-cursors";
|
||||||
package = pkgs.catppuccin-cursors.mochaDark;
|
package = pkgs.catppuccin-cursors.mochaDark;
|
||||||
size = 16;
|
size = 16;
|
||||||
};
|
};
|
||||||
|
# For some reason setting the fonts' package option doesn't work.
|
||||||
|
# Just use home.packages instead
|
||||||
fonts = {
|
fonts = {
|
||||||
monospace = {
|
monospace.name = "JetBrainsMono Nerd Font";
|
||||||
name = "JetBrainsMono Nerd Font";
|
sansSerif.name = "Noto Sans";
|
||||||
package = pkgs.nerd-fonts.jetbrains-mono;
|
emoji.name = "Noto Color Emoji";
|
||||||
|
sizes = {
|
||||||
|
applications = 12;
|
||||||
|
terminal = 12;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
icons = {
|
icons = {
|
||||||
@@ -31,60 +39,51 @@
|
|||||||
light = "MoreWaita";
|
light = "MoreWaita";
|
||||||
dark = "MoreWaita";
|
dark = "MoreWaita";
|
||||||
};
|
};
|
||||||
targets = {
|
|
||||||
foot = {
|
|
||||||
enable = true;
|
|
||||||
fonts.enable = true;
|
|
||||||
colors.enable = false;
|
|
||||||
inputs.enable = false;
|
|
||||||
opacity.enable = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
nerd-fonts.jetbrains-mono
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-color-emoji
|
||||||
|
];
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
colorScheme = "dark";
|
colorScheme = config.stylix.polarity;
|
||||||
iconTheme.name = "MoreWaita";
|
# iconTheme is set by default by stylix.icons.enable
|
||||||
theme = {
|
theme = {
|
||||||
name = "adw-gtk3-dark";
|
name = "adw-gtk3-${config.stylix.polarity}";
|
||||||
package = pkgs.adw-gtk3;
|
package = pkgs.adw-gtk3;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
qt = {
|
qt =
|
||||||
enable = true;
|
let
|
||||||
platformTheme.name = "qtct";
|
qt_settings = ver: {
|
||||||
style.name = "breeze";
|
Appearance = {
|
||||||
qt5ctSettings = {
|
color_scheme_path = "${config.xdg.configHome}/${ver}/colors/noctalia.conf";
|
||||||
Appearance = {
|
custom_palette = true;
|
||||||
color_scheme_path = "${config.xdg.configHome}/qt5ct/colors/noctalia.conf";
|
icon_theme = config.stylix.icons.${config.stylix.polarity};
|
||||||
custom_palette = true;
|
standard_dialogs = "xdgdesktopportal";
|
||||||
icon_theme = "MoreWaita";
|
style = "Breeze";
|
||||||
standard_dialogs = "xdgdesktopportal";
|
};
|
||||||
style = "Breeze";
|
Fonts = {
|
||||||
};
|
fixed = "\"${config.stylix.fonts.monospace.name},${toString config.stylix.fonts.sizes.applications}\"";
|
||||||
Fonts = {
|
general = "\"${config.stylix.fonts.sansSerif.name},${toString config.stylix.fonts.sizes.applications}\"";
|
||||||
fixed = "\"JetBrainsMono Nerd Font Mono,12\"";
|
};
|
||||||
general = "\"JetBrainsMono Nerd Font Propo,12\"";
|
|
||||||
};
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
platformTheme.name = "qtct";
|
||||||
|
style.name = "breeze";
|
||||||
|
qt5ctSettings = qt_settings "qt5ct";
|
||||||
|
qt6ctSettings = qt_settings "qt6ct";
|
||||||
};
|
};
|
||||||
qt6ctSettings = {
|
|
||||||
Appearance = {
|
|
||||||
color_scheme_path = "${config.xdg.configHome}/qt6ct/colors/noctalia.conf";
|
|
||||||
custom_palette = true;
|
|
||||||
icon_theme = "MoreWaita";
|
|
||||||
standard_dialogs = "xdgdesktopportal";
|
|
||||||
style = "Breeze";
|
|
||||||
};
|
|
||||||
Fonts = {
|
|
||||||
fixed = "\"JetBrainsMono Nerd Font Mono,12\"";
|
|
||||||
general = "\"JetBrainsMono Nerd Font Propo,12\"";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
QS_ICON_THEME = "MoreWaita";
|
QS_ICON_THEME = config.stylix.icons.${config.stylix.polarity};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,21 @@
|
|||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
|
alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
import = [ "${config.xdg.configHome}/alacritty/themes/noctalia.toml" ];
|
||||||
|
};
|
||||||
|
font = {
|
||||||
|
normal = {
|
||||||
|
family = "${config.stylix.fonts.monospace.name}";
|
||||||
|
style = "Regular";
|
||||||
|
};
|
||||||
|
size = config.stylix.fonts.sizes.terminal;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
direnv = {
|
direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
@@ -19,6 +34,8 @@
|
|||||||
main = {
|
main = {
|
||||||
term = "xterm-256color";
|
term = "xterm-256color";
|
||||||
include = "${config.xdg.configHome}/foot/themes/noctalia";
|
include = "${config.xdg.configHome}/foot/themes/noctalia";
|
||||||
|
dpi-aware = "no";
|
||||||
|
font = "${config.stylix.fonts.monospace.name}:size=${toString config.stylix.fonts.sizes.terminal}";
|
||||||
};
|
};
|
||||||
mouse = {
|
mouse = {
|
||||||
hide-when-typing = "yes";
|
hide-when-typing = "yes";
|
||||||
@@ -35,18 +52,18 @@
|
|||||||
settings = {
|
settings = {
|
||||||
add_newline = true;
|
add_newline = true;
|
||||||
format = pkgs.lib.concatStrings [
|
format = pkgs.lib.concatStrings [
|
||||||
"[ ╭─$username([@](bold 3)$hostname) $directory( $git_branch $git_status)](5)"
|
"[ ╭─[\\[](1)$username([@](bold 2)$hostname)[\\]:](1) $directory( $git_branch)](5)"
|
||||||
"$line_break"
|
"$line_break"
|
||||||
"[ ╰─$character](5)"
|
"[ ╰─$character](5)"
|
||||||
];
|
];
|
||||||
username = {
|
username = {
|
||||||
style_root = "white";
|
style_root = "white";
|
||||||
format = "[$user](5)";
|
format = "[$user](3)";
|
||||||
disabled = false;
|
disabled = false;
|
||||||
show_always = true;
|
show_always = true;
|
||||||
};
|
};
|
||||||
hostname = {
|
hostname = {
|
||||||
format = "[$hostname](bold 7)";
|
format = "[$hostname](bold 4)";
|
||||||
disabled = false;
|
disabled = false;
|
||||||
ssh_only = false;
|
ssh_only = false;
|
||||||
};
|
};
|
||||||
@@ -57,7 +74,7 @@
|
|||||||
};
|
};
|
||||||
directory = {
|
directory = {
|
||||||
read_only = "";
|
read_only = "";
|
||||||
format = "[ $path](blue)";
|
format = "[ $path](5)";
|
||||||
read_only_style = "bold white";
|
read_only_style = "bold white";
|
||||||
truncation_length = 5;
|
truncation_length = 5;
|
||||||
};
|
};
|
||||||
@@ -66,20 +83,6 @@
|
|||||||
style = "bright-black";
|
style = "bright-black";
|
||||||
format = "[$symbol $branch]($style)";
|
format = "[$symbol $branch]($style)";
|
||||||
};
|
};
|
||||||
git_status = {
|
|
||||||
format = "([$all_status$ahead_behind](1))";
|
|
||||||
conflicted = "";
|
|
||||||
ahead = "⇡\${count}";
|
|
||||||
behind = "⇣\${count}";
|
|
||||||
diverged = "⇕⇡\${ahead_count}⇣\${behind_count}";
|
|
||||||
up_to_date = "";
|
|
||||||
untracked = "?\${count}";
|
|
||||||
stashed = "$${count}";
|
|
||||||
modified = "!\${count}";
|
|
||||||
staged = "+\${count}";
|
|
||||||
renamed = "»\${count}";
|
|
||||||
deleted = "✘\${count}";
|
|
||||||
};
|
|
||||||
scan_timeout = 100;
|
scan_timeout = 100;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
{
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
programs.vesktop = {
|
programs.vesktop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
@@ -18,17 +19,17 @@
|
|||||||
font = {
|
font = {
|
||||||
normal = {
|
normal = {
|
||||||
size = 12;
|
size = 12;
|
||||||
normal = "JetBrainsMono Nerd Font";
|
normal = "${config.stylix.fonts.sansSerif.name}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
theme = {
|
theme = {
|
||||||
light = {
|
light = {
|
||||||
name = "noctalia";
|
name = "noctalia";
|
||||||
icon_theme = "MoreWaita";
|
icon_theme = "${config.stylix.icons.light}";
|
||||||
};
|
};
|
||||||
dark = {
|
dark = {
|
||||||
name = "noctalia";
|
name = "noctalia";
|
||||||
icon_theme = "MoreWaita";
|
icon_theme = "${config.stylix.icons.dark}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -18,10 +18,17 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
createDirectories = true;
|
createDirectories = true;
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
XDG_DEV_DIR = "${config.home.homeDirectory}/Dev";
|
DEV = "${config.home.homeDirectory}/Dev";
|
||||||
XDG_WALLPAPERS_DIR = "${config.xdg.userDirs.pictures}/Wallpapers";
|
WALLPAPERS = "${config.xdg.userDirs.pictures}/Wallpapers";
|
||||||
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
|
SCREENSHOTS = "${config.xdg.userDirs.pictures}/Screenshots";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.file.".face".source = ../../assets/profile-picture.jpg;
|
||||||
|
|
||||||
|
home.file."${config.xdg.userDirs.extraConfig.WALLPAPERS}" = {
|
||||||
|
source = ../../assets/wallpapers;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,6 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
programs.zen-browser = {
|
programs.zen-browser = {
|
||||||
enable = true;
|
enable = false;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
{
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(import ./heybrochecklog.nix)
|
(import ./heybrochecklog.nix)
|
||||||
|
|||||||
@@ -1,13 +1,9 @@
|
|||||||
{
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./agenix.nix
|
./agenix.nix
|
||||||
./boot.nix
|
./boot.nix
|
||||||
./desktop.nix
|
./desktop.nix
|
||||||
./fileSystems.nix
|
./fileSystems.nix
|
||||||
./fonts.nix
|
|
||||||
./network.nix
|
./network.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
./security.nix
|
./security.nix
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
@@ -8,7 +9,10 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
niri.enable = true;
|
niri = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.niri-unstable;
|
||||||
|
};
|
||||||
uwsm = {
|
uwsm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
waylandCompositors = {
|
waylandCompositors = {
|
||||||
@@ -20,6 +24,12 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.xwayland-satellite-unstable ];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.niri.overlays.niri
|
||||||
|
];
|
||||||
|
|
||||||
services.displayManager = {
|
services.displayManager = {
|
||||||
gdm = {
|
gdm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -81,6 +81,10 @@
|
|||||||
|
|
||||||
# Enable thermald (only necessary for Intel CPUs)
|
# Enable thermald (only necessary for Intel CPUs)
|
||||||
thermald.enable = true;
|
thermald.enable = true;
|
||||||
|
|
||||||
|
fwupd.enable = true;
|
||||||
|
|
||||||
|
fprintd.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
powerManagement = {
|
powerManagement = {
|
||||||
|
|||||||
Reference in New Issue
Block a user