Additional Helix & Niri configuration. Various cleanups

This commit is contained in:
2026-02-22 16:12:08 -05:00
parent 569e131ac6
commit d86a8b884e
22 changed files with 445 additions and 205 deletions

18
flake.lock generated
View File

@@ -375,11 +375,11 @@
]
},
"locked": {
"lastModified": 1769132734,
"narHash": "sha256-gmU9cRplrQWqoback9PgQX7Dlsdx8JlhlVZwf0q1F7E=",
"lastModified": 1771683283,
"narHash": "sha256-WxAEkAbo8dP7qiyPM6VN4ZGAxfuBVlNBNPkrqkrXVEc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d055b309a6277343cb1033a11d7500f0a0f669fc",
"rev": "c6ed3eab64d23520bcbb858aa53fe2b533725d4a",
"type": "github"
},
"original": {
@@ -515,11 +515,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github"
},
"original": {
@@ -552,11 +552,11 @@
]
},
"locked": {
"lastModified": 1770002874,
"narHash": "sha256-UOjvZXyZLZv0dP9GZPjis8IRxmrIoMt8c25WGCt7+hU=",
"lastModified": 1771434371,
"narHash": "sha256-1ivy5+FBZMSojnduPnG6K8w5EFxyP61vthmLXzfGwco=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "a8d74633f6920b91edf102e33a812af8489e2c88",
"rev": "04589a4f58c7315b035633a274d1fc820d34c31a",
"type": "github"
},
"original": {

View File

@@ -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;
};
}

View File

@@ -1,9 +1,5 @@
{
...
}:
{
imports = [
./assets.nix
./firefox.nix
./git.nix
./helix.nix
@@ -21,6 +17,6 @@
./xdg.nix
./yazi.nix
./zed.nix
./zen-browser.nix
# ./zen-browser.nix
];
}

View File

@@ -117,6 +117,22 @@
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
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 = {
name = "Surugaya";
urls = [

View File

@@ -26,15 +26,82 @@ in
enable = true;
defaultEditor = true;
extraPackages = with pkgs; [
basedpyright
ruff
isort
black
nixd
nixfmt
rust-analyzer
rustfmt
basedpyright # Python static type checker
ruff # Pyhton linter and formatter
nixd # Nix language server
nixfmt # Nix formatter
rust-analyzer # Rust language server
rustfmt # Rust formmater
clippy # Rust linter
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 = {
language = [
{
@@ -45,10 +112,10 @@ in
];
auto-format = true;
formatter = {
command = "bash"; # We have to use bash to call both isort and black
command = "ruff";
args = [
"-c"
"isort --profile black - | black --quiet --line-length=79 -" # Line length of 79 in accordance with PEP 8
"format"
"-"
];
};
}
@@ -62,75 +129,194 @@ in
}
{
name = "rust";
language-servers = [ "rust-analyzer" ];
auto-format = true;
roots = [
"Cargo.toml"
"Cargo.lock"
];
formatter = {
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 = {
basedpyright.config.python.analysis = {
typeCheckingMode = "strict";
basedpyright.config.python.analysis.typeCheckingMode = "strict";
rust-analyzer.config.check.command = "clippy";
emmet-language-server = {
command = "emmet-language-server";
args = [ "--stdio" ];
};
ruff = {
command = "ruff";
args = [ "server" ];
};
nixd = {
command = "nixd";
};
rust-analyzer = {
command = "rust-analyzer";
vscode-eslint-language-server = {
config = {
inlayHints = {
bindingModeHints.enable = false;
closingBraceHints.minLines = 10;
closureReturnTypeHints.enable = "with_block";
discriminantHints.enable = "fieldless";
lifetimeElisionHints.enable = "skip_trivial";
typeHints.hideClosureInitialization = false;
# Automatically fix ESLint errors
codeActionsOnSave = {
mode = "all";
"source.fixAll.eslint" = true;
};
quiet = 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";
};
};
}

View File

@@ -1,6 +1,3 @@
{
...
}:
{
services.kanshi = {
enable = true;

View File

@@ -80,6 +80,8 @@ in
repeat = false;
hotkey-overlay.title = "Session menu";
};
# Notifications
"Mod+N" = {
action.spawn = [
noctalia-shell
@@ -91,6 +93,17 @@ in
repeat = false;
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
"XF86AudioPrev" = {
@@ -292,28 +305,33 @@ in
hotkey-overlay.title = "Decrease window height";
};
"Mod+Z" = {
action.switch-focus-between-floating-and-tiling = { };
action.toggle-window-floating = { };
repeat = false;
hotkey-overlay.title = "Toggle floating";
};
"Mod+T" = {
action.toggle-column-tabbed-display = { };
repeat = false;
hotkey-overlay.title = "Toggle tabbed column";
};
# Window and column movement
"Mod+Up" = {
"Mod+K" = {
action.focus-window-or-monitor-up = { };
repeat = false;
hotkey-overlay.title = "Focus window up";
};
"Mod+Down" = {
"Mod+J" = {
action.focus-window-or-monitor-down = { };
repeat = false;
hotkey-overlay.title = "Focus window down";
};
"Mod+Left" = {
"Mod+H" = {
action.focus-column-or-monitor-left = { };
repeat = false;
hotkey-overlay.title = "Focus window left";
};
"Mod+Right" = {
"Mod+L" = {
action.focus-column-or-monitor-right = { };
repeat = false;
hotkey-overlay.title = "Focus window right";
@@ -328,44 +346,44 @@ in
repeat = false;
hotkey-overlay.title = "Move window right";
};
"Mod+Shift+Up" = {
"Mod+Shift+K" = {
action.move-column-to-monitor-up = { };
repeat = false;
hotkey-overlay.title = "Move column up";
};
"Mod+Shift+Down" = {
"Mod+Shift+J" = {
action.move-column-to-monitor-down = { };
repeat = false;
hotkey-overlay.title = "Move column down";
};
"Mod+Shift+Left" = {
"Mod+Shift+H" = {
action.move-column-left-or-to-monitor-left = { };
repeat = false;
hotkey-overlay.title = "Move column left";
};
"Mod+Shift+Right" = {
"Mod+Shift+L" = {
action.move-column-right-or-to-monitor-right = { };
repeat = false;
hotkey-overlay.title = "Move column right";
};
# Workspaces
"Mod+Ctrl+Up" = {
"Mod+Ctrl+K" = {
action.focus-workspace-up = { };
repeat = false;
hotkey-overlay.title = "Focus workspace up";
};
"Mod+Ctrl+Down" = {
"Mod+Ctrl+J" = {
action.focus-workspace-down = { };
repeat = false;
hotkey-overlay.title = "Focus workspace down";
};
"Mod+Ctrl+Shift+Up" = {
"Mod+Ctrl+Shift+K" = {
action.move-column-to-workspace-up = { };
repeat = false;
hotkey-overlay.title = "Move column to workspace up";
};
"Mod+Ctrl+Shift+Down" = {
"Mod+Ctrl+Shift+J" = {
action.move-column-to-workspace-down = { };
repeat = false;
hotkey-overlay.title = "Move column to workspace down";
@@ -381,13 +399,32 @@ in
window-rules = [
{
geometry-corner-radius = {
bottom-left = 5.0;
bottom-right = 5.0;
top-left = 5.0;
top-right = 5.0;
bottom-left = 10.0;
bottom-right = 10.0;
top-left = 10.0;
top-right = 10.0;
};
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 = [
{
@@ -397,7 +434,7 @@ in
}
];
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 = {
skip-at-startup = true;
};
@@ -406,13 +443,17 @@ in
# { argv = [ "noctalia-shell" ]; }
# ];
cursor = {
size = 16;
theme = "catppuccin-mocha-dark-cursors";
size = config.stylix.cursor.size;
theme = config.stylix.cursor.name;
hide-when-typing = true;
};
gestures = {
hot-corners.enable = false;
};
xwayland-satellite = {
enable = true;
path = lib.getExe pkgs.xwayland-satellite-unstable;
};
environment = {
"NIXOS_OZONE_WL" = "1";
};
@@ -420,7 +461,7 @@ in
# Allows notification actions and window activation from Noctalia.
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.
};
};

View File

@@ -14,6 +14,8 @@
settings = {
general = {
avatarImage = "~/.face";
autoStartAuth = true;
allowPasswordWithFprintd = true;
};
location.name = "Washington DC";
bar = {
@@ -45,6 +47,10 @@
};
templates = {
activeTemplates = [
{
enabled = true;
id = "alacritty";
}
{
enabled = true;
id = "discord";
@@ -91,7 +97,7 @@
wallpaper = {
enabled = true;
overviewEnabled = true;
directory = "${config.xdg.userDirs.extraConfig.XDG_WALLPAPERS_DIR}";
directory = "${config.xdg.userDirs.extraConfig.WALLPAPERS}";
};
colorSchemes.predefinedScheme = "Catppuccin";
};

View File

@@ -11,7 +11,6 @@
programs.nix-jmu-cs345.enable = true;
home.packages = with pkgs; [
zoom-us
devenv
htop
obsidian

View File

@@ -15,7 +15,7 @@
# Configuration options: https://github.com/jtheoof/swappy?tab=readme-ov-file#config
settings = {
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";
show_panel = false;
auto_save = false;

View File

@@ -1,6 +1,3 @@
{
...
}:
{
programs.ssh = {
enable = true;

View File

@@ -9,20 +9,28 @@
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 = {
enable = true;
autoEnable = false;
polarity = "dark";
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
cursor = {
name = "Catppuccin-Mocha-Dark-Cursors";
name = "catppuccin-mocha-dark-cursors";
package = pkgs.catppuccin-cursors.mochaDark;
size = 16;
};
# For some reason setting the fonts' package option doesn't work.
# Just use home.packages instead
fonts = {
monospace = {
name = "JetBrainsMono Nerd Font";
package = pkgs.nerd-fonts.jetbrains-mono;
monospace.name = "JetBrainsMono Nerd Font";
sansSerif.name = "Noto Sans";
emoji.name = "Noto Color Emoji";
sizes = {
applications = 12;
terminal = 12;
};
};
icons = {
@@ -31,60 +39,51 @@
light = "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 = {
enable = true;
colorScheme = "dark";
iconTheme.name = "MoreWaita";
colorScheme = config.stylix.polarity;
# iconTheme is set by default by stylix.icons.enable
theme = {
name = "adw-gtk3-dark";
name = "adw-gtk3-${config.stylix.polarity}";
package = pkgs.adw-gtk3;
};
};
qt = {
qt =
let
qt_settings = ver: {
Appearance = {
color_scheme_path = "${config.xdg.configHome}/${ver}/colors/noctalia.conf";
custom_palette = true;
icon_theme = config.stylix.icons.${config.stylix.polarity};
standard_dialogs = "xdgdesktopportal";
style = "Breeze";
};
Fonts = {
fixed = "\"${config.stylix.fonts.monospace.name},${toString config.stylix.fonts.sizes.applications}\"";
general = "\"${config.stylix.fonts.sansSerif.name},${toString config.stylix.fonts.sizes.applications}\"";
};
};
in
{
enable = true;
platformTheme.name = "qtct";
style.name = "breeze";
qt5ctSettings = {
Appearance = {
color_scheme_path = "${config.xdg.configHome}/qt5ct/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\"";
};
};
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\"";
};
};
qt5ctSettings = qt_settings "qt5ct";
qt6ctSettings = qt_settings "qt6ct";
};
home.sessionVariables = {
QS_ICON_THEME = "MoreWaita";
QS_ICON_THEME = config.stylix.icons.${config.stylix.polarity};
};
}

View File

@@ -5,6 +5,21 @@
}:
{
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 = {
enable = true;
enableZshIntegration = true;
@@ -19,6 +34,8 @@
main = {
term = "xterm-256color";
include = "${config.xdg.configHome}/foot/themes/noctalia";
dpi-aware = "no";
font = "${config.stylix.fonts.monospace.name}:size=${toString config.stylix.fonts.sizes.terminal}";
};
mouse = {
hide-when-typing = "yes";
@@ -35,18 +52,18 @@
settings = {
add_newline = true;
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"
"[ $character](5)"
];
username = {
style_root = "white";
format = "[$user](5)";
format = "[$user](3)";
disabled = false;
show_always = true;
};
hostname = {
format = "[$hostname](bold 7)";
format = "[$hostname](bold 4)";
disabled = false;
ssh_only = false;
};
@@ -57,7 +74,7 @@
};
directory = {
read_only = "";
format = "[ $path](blue)";
format = "[ $path](5)";
read_only_style = "bold white";
truncation_length = 5;
};
@@ -66,20 +83,6 @@
style = "bright-black";
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;
};
};

View File

@@ -1,6 +1,3 @@
{
...
}:
{
programs.vesktop = {
enable = true;

View File

@@ -1,4 +1,5 @@
{
config,
...
}:
{
@@ -18,17 +19,17 @@
font = {
normal = {
size = 12;
normal = "JetBrainsMono Nerd Font";
normal = "${config.stylix.fonts.sansSerif.name}";
};
};
theme = {
light = {
name = "noctalia";
icon_theme = "MoreWaita";
icon_theme = "${config.stylix.icons.light}";
};
dark = {
name = "noctalia";
icon_theme = "MoreWaita";
icon_theme = "${config.stylix.icons.dark}";
};
};
};

View File

@@ -18,10 +18,17 @@
enable = true;
createDirectories = true;
extraConfig = {
XDG_DEV_DIR = "${config.home.homeDirectory}/Dev";
XDG_WALLPAPERS_DIR = "${config.xdg.userDirs.pictures}/Wallpapers";
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
DEV = "${config.home.homeDirectory}/Dev";
WALLPAPERS = "${config.xdg.userDirs.pictures}/Wallpapers";
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;
};
}

View File

@@ -8,6 +8,6 @@
];
programs.zen-browser = {
enable = true;
enable = false;
};
}

View File

@@ -1,6 +1,3 @@
{
...
}:
{
nixpkgs.overlays = [
(import ./heybrochecklog.nix)

View File

@@ -1,13 +1,9 @@
{
...
}:
{
imports = [
./agenix.nix
./boot.nix
./desktop.nix
./fileSystems.nix
./fonts.nix
./network.nix
./packages.nix
./security.nix

View File

@@ -1,5 +1,6 @@
{
inputs,
pkgs,
...
}:
{
@@ -8,7 +9,10 @@
];
programs = {
niri.enable = true;
niri = {
enable = true;
package = pkgs.niri-unstable;
};
uwsm = {
enable = true;
waylandCompositors = {
@@ -20,6 +24,12 @@
};
};
environment.systemPackages = [ pkgs.xwayland-satellite-unstable ];
nixpkgs.overlays = [
inputs.niri.overlays.niri
];
services.displayManager = {
gdm = {
enable = true;

View File

@@ -81,6 +81,10 @@
# Enable thermald (only necessary for Intel CPUs)
thermald.enable = true;
fwupd.enable = true;
fprintd.enable = true;
};
powerManagement = {