works again, mostly done, now we can start with server

This commit is contained in:
martyTF 2026-04-03 01:11:14 +02:00
parent 784f214fb7
commit 270e1a0be4
38 changed files with 623 additions and 381 deletions

View file

@ -14,7 +14,7 @@
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
imports = [ imports = [
./modules ./modules
# ./options.nix
]; ];
environment.pathsToLink = [ environment.pathsToLink = [

12
home/apps/default.nix Normal file
View file

@ -0,0 +1,12 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [
./terminal
];
}

View file

@ -8,5 +8,6 @@
{ {
imports = [ imports = [
./kitty.nix ./kitty.nix
./ranger.nix
]; ];
} }

View file

@ -2,6 +2,7 @@
config, config,
lib, lib,
pkgs, pkgs,
osConfig,
... ...
}: }:

View file

@ -8,5 +8,6 @@
{ {
imports = [ imports = [
./desktop ./desktop
./apps
]; ];
} }

View file

@ -8,12 +8,20 @@
}: }:
{ {
config = lib.mkIf osConfig.desktop.shell.noctalia.enable { imports =
}; if true then
[
imports = lib.mkIf osConfig.desktop.shell.noctalia.enable [
inputs.noctalia.homeModules.default inputs.noctalia.homeModules.default
] ]
else
[ ];
config = {
programs.noctalia-shell =
if osConfig.desktop.shell.noctalia.enable then
{
enable = true;
}
else
{ };
};
} }

View file

@ -8,7 +8,9 @@
}: }:
{ {
config = lib.mkIf osConfig.desktop.shell.walker.enable { config =
if osConfig.desktop.shell.walker.enable then
{
programs = { programs = {
walker = { walker = {
enable = true; enable = true;
@ -18,9 +20,15 @@
}; };
}; };
}; };
}; }
else
{ };
imports = lib.mkIf osConfig.desktop.shell.walker.enable [ imports =
if osConfig.desktop.shell.walker.enable then
[
inputs.walker.homeManagerModules.default inputs.walker.homeManagerModules.default
] ]
else
[ ];
} }

View file

@ -11,6 +11,7 @@
options = { options = {
desktop = { desktop = {
hyprland = { hyprland = {
enable = lib.mkEnableOption "enable hyprland";
monitors = lib.mkOption { monitors = lib.mkOption {
default = [ default = [
",preferred,auto,1" ",preferred,auto,1"
@ -44,7 +45,7 @@
}; };
}; };
config = lib.mkIf osConfig.desktop.hyprland.enable { config = lib.mkIf osConfig.desktop.window-managers.hyprland.enable {
xdg.portal = { xdg.portal = {
enable = true; enable = true;
configPackages = [ configPackages = [
@ -97,9 +98,9 @@
(lib.mkIf (osConfig.desktop.shell.rofi.enable) "$mod, D, exec, rofi -show drun") (lib.mkIf (osConfig.desktop.shell.rofi.enable) "$mod, D, exec, rofi -show drun")
"$mod, return, exec, ${osConfig.apps.terminal.binary}" "$mod, return, exec, ${osConfig.apps.terminal.binary}"
(lib.mkIf (osConfig.desktop.utilities.grimblast.enable) ", print, exec, GRIMBLAST_EDITOR=gradia grimblast edit area") (lib.mkIf (osConfig.desktop.utilities.grimblast.enable) ", print, exec, GRIMBLAST_EDITOR=gradia grimblast edit area")
(lib.mkIf (osConfig.desktop.shell.walker.enable) ( (lib.mkIf (osConfig.desktop.shell.walker.enable && osConfig.misc.bitwarden.enable)
lib.mkIf (osConfig.misc.bitwarden.enable) "$mod, B, exec, rbw unlocked || kitty --class kitty-floating -e rbw unlock; selected=$(rbw list | walker -d); wl-copy $(rbw get \"$selected\"); sleep 30; rbw lock" "$mod, B, exec, rbw unlocked || kitty --class kitty-floating -e rbw unlock; selected=$(rbw list | walker -d); wl-copy $(rbw get \"$selected\"); sleep 30; rbw lock"
)) )
"$mod, F, fullscreen, 1" "$mod, F, fullscreen, 1"
"$shiftmod, F, fullscreen, 0" "$shiftmod, F, fullscreen, 0"
"$shiftmod, Q, killactive," "$shiftmod, Q, killactive,"

View file

@ -8,22 +8,17 @@
}: }:
let let
modifier = lib.mkIf (${osConfig.keybinds.modifier} == "Meta") "Mod"; modifier = if (osConfig.keybinds.modifier == "Meta") then "Mod" else null;
kb-layout = builtins.substring 0 2 osConfig.system.locale; kb-layout = builtins.substring 0 2 osConfig.system.locale;
in in
{ {
options = { config =
desktop.window-managers = { if osConfig.desktop.window-managers.niri.enable then
niri = { {
};
};
};
config = lib.mkIf osConfig.desktop.window-managers.niri.enable {
home.file = { home.file = {
"~/.config/niri/config.kdl" = '' "~/.config/niri/config.kdl" = ''
input { input {
keyboard { keyboard {
xkb { xkb {
@ -47,29 +42,29 @@ input {
accel-profile "flat" accel-profile "flat"
} }
} }
gestures { gestures {
hot-corners { hot-corners {
off off
} }
} }
cursor { cursor {
hide-when-typing hide-when-typing
hide-after-inactive-ms 2000 hide-after-inactive-ms 2000
} }
xwayland-satellite { xwayland-satellite {
path "xwayland-satellite" path "xwayland-satellite"
} }
hotkey-overlay { hotkey-overlay {
hide-not-bound hide-not-bound
} }
binds { binds {
${modifier}+Down cooldown-ms=150 { focus-workspace-down; } ${modifier}+Down cooldown-ms=150 { focus-workspace-down; }
${modifier}+Up cooldown-ms=150 { focus-workspace-up; } ${modifier}+Up cooldown-ms=150 { focus-workspace-up; }
${modifier}+${osConfig.keybinds.hotkeys.terminal} { spawn "${osConfig.terminal.binary}";} ${modifier}+${osConfig.keybinds.hotkeys.terminal} { spawn "${osConfig.terminal.binary}";}
@ -80,13 +75,13 @@ binds {
Print { screenshot;} Print { screenshot;}
${modifier}+Shift+${osConfig.keybinds.hotkeys.close-window} { close-window; } ${modifier}+Shift+${osConfig.keybinds.hotkeys.close-window} { close-window; }
${modifier}+Shift+${osConfig.keybinds.hotkeys.editor} { spawn "${osConfig.apps.development.editor.default}";} ${modifier}+Shift+${osConfig.keybinds.hotkeys.editor} { spawn "${osConfig.apps.development.editor.default}";}
} }
spawn-at-startup "elephant" spawn-at-startup "elephant"
spawn-at-startup "noctalia-shell" spawn-at-startup "noctalia-shell"
layout { layout {
gaps 20 gaps 20
focus-ring { focus-ring {
width 5 width 5
@ -94,19 +89,21 @@ layout {
border { border {
off off
} }
} }
window-rule { window-rule {
geometry-corner-radius 20 geometry-corner-radius 20
clip-to-geometry true clip-to-geometry true
} }
prefer-no-csd prefer-no-csd
include "noctalia.kdl" include "noctalia.kdl"
''; '';
}; };
}; }
else
{ };
} }

View file

@ -3,18 +3,14 @@
pkgs, pkgs,
lib, lib,
inputs, inputs,
osConfig,
... ...
}: }:
{ {
options = { config =
desktop.window-managers = { if osConfig.desktop.window-managers.sway.enable then
sway = { {
};
};
};
config = lib.mkIf osConfig.desktop.window-managers.sway.enable {
wayland.windowManager.sway = { wayland.windowManager.sway = {
enable = true; enable = true;
package = pkgs.swayfx; package = pkgs.swayfx;
@ -68,5 +64,7 @@
}; };
checkConfig = false; checkConfig = false;
}; };
}; }
else
{ };
} }

View file

@ -40,7 +40,7 @@
}; };
imports = [ imports = [
./../../modules ./../../home
]; ];
programs.home-manager.enable = true; programs.home-manager.enable = true;
} }

View file

@ -16,11 +16,26 @@
}; };
config = { config = {
environment.systemPackages = with pkgs; [ environment.systemPackages =
(lib.mkIf (apps.audio.base.enable) pavucontrol) with pkgs;
(lib.mkIf (apps.audio.base.enable) playerctl) [ ]
(lib.mkIf (apps.audio.editing.enable) tenacity) ++ (
(lib.mkIf (apps.audio.editing.enable) flac) if (config.apps.audio.base.enable) then
]; [
pavucontrol
playerctl
]
else
[ ]
)
++ (
if (config.apps.audio.editing.enable) then
[
tenacity
flac
]
else
[ ]
);
}; };
} }

View file

@ -14,6 +14,7 @@
./misc ./misc
./peripherals ./peripherals
./video ./video
./sync
./terminal ./terminal
]; ];
} }

View file

@ -7,7 +7,6 @@
{ {
imports = [ imports = [
./git.nix
./editor.nix ./editor.nix
./godot.nix ./godot.nix
./languages.nix ./languages.nix

View file

@ -11,44 +11,54 @@
editor = { editor = {
vscodium.enable = lib.mkEnableOption "enable vscodium"; vscodium.enable = lib.mkEnableOption "enable vscodium";
emacs.enable = lib.mkEnableOption "enable emacs"; emacs.enable = lib.mkEnableOption "enable emacs";
default = lib.mkOption {
default = "vscodium"; default = "vscodium";
description = "default editor";
};
}; };
}; };
}; };
config = { config = {
environment.systemPackages = with pkgs; [ environment.systemPackages =
(lib.mkIf config.development.editor.vscodium.enable vscodium) with pkgs;
[
nixfmt nixfmt
]; ]
++ (if config.development.editor.vscodium.enable then [ vscodium ] else [ ]);
programs = { programs = {
vscode = lib.mkIf config.development.editor.vscodium.enable { vscode =
if config.development.editor.vscodium.enable then
{
enable = true; enable = true;
package = pkgs.vscodium; package = pkgs.vscodium;
defaultEditor = lib.mkIf (config.development.editor.default == "vscodium") true; defaultEditor = if (config.development.editor.default == "vscodium") then true else false;
profiles.default.extensions = with pkgs.vscode-extensions; [ # profiles.default.extensions = with pkgs.vscode-extensions; [
catppuccin.catppuccin-vsc # catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons # catppuccin.catppuccin-vsc-icons
jnoortheen.nix-ide # jnoortheen.nix-ide
alefragnani.project-manager # alefragnani.project-manager
naumovs.color-highlight # naumovs.color-highlight
geequlim.godot-tools # geequlim.godot-tools
stylelint.vscode-stylelint # stylelint.vscode-stylelint
ecmel.vscode-html-css # ecmel.vscode-html-css
esbenp.prettier-vscode # esbenp.prettier-vscode
]; # ];
}; }
else
{ };
}; };
services = { services = {
emacs = lib.mkIf config.development.editor.emacs.enable { emacs =
if config.development.editor.emacs.enable then
{
enable = true; enable = true;
install = true; install = true;
defaultEditor = lib.mkIf (config.development.editor.default == "emacs") true; defaultEditor = if (config.development.editor.default == "emacs") then true else false;
}; }
}; else
home.sessionVariables = { { };
EDITOR = lib.mkDefault "codium";
}; };
}; };
} }

View file

@ -12,9 +12,14 @@
}; };
}; };
config = lib.mkIf config.apps.development.godot.enable { config = {
systemPackages = with pkgs; [ environment.systemPackages =
if config.apps.development.godot.enable then
with pkgs;
[
godot godot
]; ]
else
[ ];
}; };
} }

View file

@ -8,13 +8,15 @@
{ {
options = { options = {
apps.development.languages = { apps.development.languages = {
python = lib.mkEnableOption "enable python"; python.enable = lib.mkEnableOption "enable python";
}; };
}; };
config = { config = {
environment.systemPackages = with pkgs; [ environment.systemPackages =
(lib.mkIf lib.mkIf config.development.languages.python.enable virtualenv) with pkgs;
]; [
]
++ (if config.apps.development.languages.python.enable then [ virtualenv ] else [ ]);
}; };
} }

View file

@ -8,21 +8,43 @@
{ {
options = { options = {
apps.gaming = { apps.gaming = {
enable = true; enable = lib.mkEnableOption "enable gaming";
steam.enable = lib.mkEnableOption "enable steam"; steam.enable = lib.mkEnableOption "enable steam";
minecraft.enable = lib.mkEnableOption "enable minecraft"; minecraft.enable = lib.mkEnableOption "enable minecraft";
}; };
}; };
config = { config = {
environment.systemPackages = with pkgs; [ environment.systemPackages =
(lib.mkIf (config.apps.gaming.enable) cartridges) with pkgs;
(lib.mkIf (config.apps.gaming.enable) lutris) [ ]
(lib.mkIf (config.apps.gaming.minecraft.enable) prismlauncher) ++ (
(lib.mkIf (config.apps.gaming.steam.enable) adwsteamgtk) if (config.apps.gaming.enable) then
]; [
cartridges
lutris
]
else
[ ]
)
++ (
if (config.apps.gaming.minecraft.enable) then
[ prismlauncher ]
else
[ ]
)
++ (
if (config.apps.gaming.steam.enable) then
[ adwsteamgtk ]
else
[ ]
);
programs = { programs = {
steam = lib.mkIf config.apps.gaming.steam.enable { steam =
if config.apps.gaming.steam.enable then
{
enable = true; enable = true;
remotePlay.openFirewall = true; remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true; dedicatedServer.openFirewall = true;
@ -35,7 +57,9 @@
extraPackages = with pkgs; [ extraPackages = with pkgs; [
gamescope gamescope
]; ];
}; }
else
{ };
gamescope = { gamescope = {
enable = true; enable = true;
capSysNice = true; capSysNice = true;

View file

@ -15,10 +15,25 @@
}; };
config = { config = {
environment.systemPackages = with pkgs; [ environment.systemPackages =
(lib.mkIf (apps.image.base.enable) nomacs) with pkgs;
(lib.mkIf (apps.image.editing.enable) gimp3-with-plugins) [ ]
(lib.mkIf (apps.image.editing.enable) krita) ++ (
]; if (config.apps.image.base.enable) then
[ nomacs ]
else
[ ]
)
++ (
if (config.apps.image.editing.enable) then
[
gimp3-with-plugins
krita
]
else
[ ]
);
}; };
} }

View file

@ -26,9 +26,19 @@
}; };
config = { config = {
environment.systemPackages = [ environment.systemPackages =
(lib.mkIf config.apps.internet.browsers.zen-browser.enable config.apps.internet.browsers.zen-browser.package) [ ]
(lib.mkIf config.apps.internet.browsers.tor-browser.enable config.apps.internet.browsers.tor-browser.package) ++ (
]; if config.apps.internet.browsers.zen-browser.enable then
[ config.apps.internet.browsers.zen-browser.package ]
else
[ ]
)
++ (
if config.apps.internet.browsers.tor-browser.enable then
[ config.apps.internet.browsers.tor-browser.package ]
else
[ ]
);
}; };
} }

View file

@ -16,16 +16,43 @@
}; };
config = { config = {
environment.systemPackages = with pkgs; [ environment.systemPackages =
(lib.mkIf (config.apps.misc.obsidian.enable) obsidian) with pkgs;
(lib.mkIf (config.apps.misc.bitwarden.enable) rbw ( [
lib.mkIf (config.desktop.shell.rofi.enable) pinentry-curses rofi-rbw
))
(lib.mkIf (config.apps.misc.blender.enable) blender)
libsecret libsecret
gcr_4 gcr_4
pass pass
]; ]
++ (
if (config.apps.misc.obsidian.enable) then
[ obsidian ]
else
[ ]
)
++ (
if (config.apps.misc.bitwarden.enable) then
[ rbw ]
++ (
if (config.desktop.shell.rofi.enable) then
[
pinentry-curses
rofi-rbw
]
else
[ ]
)
else
[ ]
)
++ (
if (config.apps.misc.blender.enable) then
[ blender ]
else
[ ]
);
programs = { programs = {
seahorse.enable = true; seahorse.enable = true;
}; };

View file

@ -31,12 +31,18 @@
}; };
config = { config = {
programs = { programs = {
kdeconnect = lib.mkIf config.apps.sync.kde-connect.enable { kdeconnect =
if config.apps.sync.kde-connect.enable then
{
enable = true; enable = true;
}; }
else
{ };
}; };
services = { services = {
syncthing = lib.mkIf config.apps.sync.syncthing.enable { syncthing =
if config.apps.sync.syncthing.enable then
{
enable = true; enable = true;
tray.enable = true; tray.enable = true;
guiAddress = "0.0.0.0:8384"; guiAddress = "0.0.0.0:8384";
@ -44,9 +50,11 @@
devices = config.apps.sync.syncthing.devices; devices = config.apps.sync.syncthing.devices;
folders = config.apps.sync.syncthing.folders; folders = config.apps.sync.syncthing.folders;
}; };
overrideDevices = lib.mkIf (config.apps.sync.syncthing.devices == { }) false; overrideDevices = if (config.apps.sync.syncthing.devices == { }) then false else true;
overrideFolders = lib.mkIf (config.apps.sync.syncthing.folders == { }) false; overrideFolders = if (config.apps.sync.syncthing.folders == { }) then false else true;
}; }
else
{ };
}; };
}; };
} }

View file

@ -19,7 +19,9 @@
bc bc
openssl openssl
] ]
++ lib.mkIf config.apps.terminal.toys [ ++ (
if config.apps.terminal.toys then
[
asciiquarium-transparent asciiquarium-transparent
cava cava
@ -28,6 +30,9 @@
fastfetch fastfetch
cmatrix cmatrix
astroterm astroterm
]; ]
else
[ ]
);
}; };
} }

View file

@ -13,13 +13,25 @@
}; };
}; };
config = lib.mkIf config.apps.terminal.kitty.enable { config = {
terminal = lib.mkIf (config.apps.terminal.default == "kitty") { # apps.terminal =
package = pkgs.kitty; # if (config.apps.terminal.default == "kitty") then
binary = "${pkgs.kitty}/bin/kitty"; # {
}; # package = pkgs.kitty;
environment.systemPackages = with pkgs; [ # binary = "${pkgs.kitty}/bin/kitty";
# }
# else
# { };
environment.systemPackages =
with pkgs;
[ ]
++ (
if config.apps.terminal.kitty.enable then
[
kitty kitty
]; ]
else
[ ]
);
}; };
} }

View file

@ -18,8 +18,16 @@ in
}; };
config = { config = {
environment.systemPackages = with pkgs; [ environment.systemPackages =
(lib.mkIf (tt.ranger.enable) ranger) with pkgs;
]; [
]
++ (
if tt.ranger.enable then
[ ranger ]
else
[ ]
);
}; };
} }

View file

@ -16,11 +16,32 @@
}; };
config = { config = {
environment.systemPackages = with pkgs; [ environment.systemPackages =
(lib.mkIf (apps.video.base.enable) mpv) with pkgs;
(lib.mkIf (apps.video.editing.enable) kdePackages.kdenlive) [ ]
(lib.mkIf (apps.video.media.enable) jellyfin-desktop) ++ (
(lib.mkIf (apps.video.media.enable) pipeline) if config.apps.video.base.enable then
];
[ mpv ]
else
[ ]
)
++ (
if config.apps.video.editing.enable then
[ kdePackages.kdenlive ]
else
[ ]
)
++ (
if config.apps.video.media.enable then
[
jellyfin-desktop
pipeline
]
else
[ ]
);
}; };
} }

View file

@ -30,22 +30,35 @@
programs = { programs = {
uwsm = { uwsm = {
waylandCompositors = { waylandCompositors = {
hyprland = lib.mkIf config.desktop.window-managers.hyprland.enable { hyprland =
if config.desktop.window-managers.hyprland.enable then
{
prettyName = "Hyprland"; prettyName = "Hyprland";
comment = "Hyprland"; comment = "Hyprland";
binPath = "${config.programs.hyprland.package}/bin/start-hyprland"; binPath = "${config.programs.hyprland.package}/bin/start-hyprland";
}; }
sway = lib.mkIf config.desktop.window-managers.sway.enable { else
{ };
sway =
if config.desktop.window-managers.sway.enable then
{
prettyName = "Sway"; prettyName = "Sway";
comment = "Sway"; comment = "Sway";
binPath = "${config.programs.sway.package}/bin/sway --session"; binPath = "${config.programs.sway.package}/bin/sway --session";
}; }
niri = lib.mkIf config.desktop.window-managers.niri.enable { else
{ };
niri =
if config.desktop.window-managers.niri.enable then
{
prettyName = "Niri"; prettyName = "Niri";
comment = "Niri"; comment = "Niri";
binPath = "${config.programs.niri.package}/bin/niri-session"; binPath = "${config.programs.niri.package}/bin/niri-session";
}
else
{ };
}; };
}; };
}; };
}; xdg.portal.enable = true;
} }

View file

@ -12,20 +12,23 @@
walker.enable = lib.mkEnableOption "enable walker"; walker.enable = lib.mkEnableOption "enable walker";
rofi.enable = lib.mkEnableOption "enable rofi"; rofi.enable = lib.mkEnableOption "enable rofi";
launcher = lib.mkOption { launcher = lib.mkOption {
default = (lib.mkIf config.desktop.shell.walker.enable "walker"); default = (if config.desktop.shell.walker.enable then "walker" else null);
description = "default launcher"; description = "default launcher";
}; };
}; };
}; };
config = { config = {
programs = { environment.systemPackages =
walker = lib.mkIf config.desktop.shell.walker.enable { with pkgs;
enable = true; [
}; ]
}; ++ (
environment.systemPackages = with pkgs; [ if config.desktop.shell.rofi.enable then
(lib.mkIf (config.desktop.shell.rofi.enable) rofi)
]; [ rofi ]
else
[ ]
);
}; };
} }

View file

@ -12,13 +12,4 @@
noctalia.enable = lib.mkEnableOption "enable noctalia"; noctalia.enable = lib.mkEnableOption "enable noctalia";
}; };
}; };
imports = lib.mkIf config.desktop.shell.noctalia.enable [
inputs.noctalia.homeModules.default
];
config = lib.mkIf config.desktop.shell.noctalia.enable {
desktop.shell.swww.enable = lib.mkDefault false;
programs.noctalia-shell = {
enable = true;
};
};
} }

View file

@ -13,10 +13,20 @@
}; };
}; };
config = lib.mkIf config.desktop.shell.swww.enable { config =
environment.systemPackages = with pkgs; [
{
environment.systemPackages =
with pkgs;
[ ]
++ (
if config.desktop.shell.swww.enable then
[
waypaper waypaper
swww swww
]; ]
else
[ ]
);
}; };
} }

View file

@ -12,11 +12,15 @@
}; };
}; };
config = lib.mkIf config.desktop.shell.waybar.enable { config = {
programs = { programs =
if config.desktop.shell.waybar.enable then
{
waybar = { waybar = {
enable = true; enable = true;
}; };
}; }
else
{ };
}; };
} }

View file

@ -13,10 +13,21 @@
}; };
}; };
config = lib.mkIf config.desktop.utilities.grimblast.enable { config =
environment.systemPackages = with pkgs; [
{
environment.systemPackages =
with pkgs;
[ ]
++ (
if config.desktop.utilities.grimblast.enable then
with pkgs;
[
grimblast grimblast
gradia gradia
]; ]
else
[ ]
);
}; };
} }

View file

@ -14,14 +14,20 @@
}; };
}; };
}; };
config = lib.mkIf config.desktop.window-managers.hyprland.enable { config =
programs.hyprland = {
{
programs.hyprland =
if config.desktop.window-managers.hyprland.enable then
{
enable = true; enable = true;
withUWSM = true; withUWSM = true;
xwayland.enable = true; xwayland.enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = portalPackage =
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
}; }
else
{ };
}; };
} }

View file

@ -13,13 +13,24 @@
}; };
}; };
}; };
config = lib.mkIf config.desktop.window-managers.niri.enable { config = {
services.gnome.gnome-keyring.enable = true; environment.systemPackages =
environment.systemPackages = with pkgs; [ with pkgs;
[ ]
++ (
if config.desktop.window-managers.niri.enable then
[
xwayland-satellite xwayland-satellite
]; ]
programs.niri = { else
[ ]
);
programs.niri =
if config.desktop.window-managers.niri.enable then
{
enable = true; enable = true;
}; }
else
{ };
}; };
} }

View file

@ -13,12 +13,15 @@
}; };
}; };
}; };
config = lib.mkIf config.desktop.window-managers.sway.enable { config = {
services.gnome.gnome-keyring.enable = true; programs.sway =
programs.sway = { if config.desktop.window-managers.sway.enable then
{
enable = true; enable = true;
wrapperFeatures.gtk = true; wrapperFeatures.gtk = true;
package = null; package = null;
}; }
else
{ };
}; };
} }

View file

@ -8,6 +8,7 @@
{ {
imports = [ imports = [
./boot.nix ./boot.nix
./git.nix
./shell.nix ./shell.nix
./networking.nix ./networking.nix
./localization.nix ./localization.nix

View file

@ -10,7 +10,7 @@
programs = { programs = {
git = { git = {
enable = true; enable = true;
settings = { config = {
init = { init = {
defaultBranch = "main"; defaultBranch = "main";
}; };

View file

@ -2,7 +2,7 @@
{ {
networking = { networking = {
domain = config.domain; domain = "maty.tf";
networkmanager.enable = true; networkmanager.enable = true;
firewall = { firewall = {
enable = true; enable = true;