Compare commits
No commits in common. "270e1a0be4410d7675160c2bb9be27a05eb7ca3e" and "6225bb0f273730097d435e45351fdd85e7a68c1c" have entirely different histories.
270e1a0be4
...
6225bb0f27
40 changed files with 425 additions and 639 deletions
|
|
@ -14,7 +14,7 @@
|
|||
nixpkgs.config.allowUnfree = true;
|
||||
imports = [
|
||||
./modules
|
||||
# ./options.nix
|
||||
|
||||
];
|
||||
|
||||
environment.pathsToLink = [
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./terminal
|
||||
];
|
||||
}
|
||||
|
|
@ -8,6 +8,5 @@
|
|||
{
|
||||
imports = [
|
||||
./kitty.nix
|
||||
./ranger.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,5 @@
|
|||
{
|
||||
imports = [
|
||||
./desktop
|
||||
./apps
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,20 +8,12 @@
|
|||
}:
|
||||
|
||||
{
|
||||
imports =
|
||||
if true then
|
||||
[
|
||||
inputs.noctalia.homeModules.default
|
||||
]
|
||||
else
|
||||
[ ];
|
||||
config = {
|
||||
programs.noctalia-shell =
|
||||
if osConfig.desktop.shell.noctalia.enable then
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
else
|
||||
{ };
|
||||
config = lib.mkIf osConfig.desktop.shell.noctalia.enable {
|
||||
};
|
||||
|
||||
imports = lib.mkIf osConfig.desktop.shell.noctalia.enable [
|
||||
inputs.noctalia.homeModules.default
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -8,27 +8,19 @@
|
|||
}:
|
||||
|
||||
{
|
||||
config =
|
||||
if osConfig.desktop.shell.walker.enable then
|
||||
{
|
||||
programs = {
|
||||
walker = {
|
||||
enable = true;
|
||||
runAsService = true;
|
||||
config = {
|
||||
theme = "noctalia";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf osConfig.desktop.shell.walker.enable {
|
||||
programs = {
|
||||
walker = {
|
||||
enable = true;
|
||||
runAsService = true;
|
||||
config = {
|
||||
theme = "noctalia";
|
||||
};
|
||||
}
|
||||
else
|
||||
{ };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports =
|
||||
if osConfig.desktop.shell.walker.enable then
|
||||
[
|
||||
inputs.walker.homeManagerModules.default
|
||||
]
|
||||
else
|
||||
[ ];
|
||||
imports = lib.mkIf osConfig.desktop.shell.walker.enable [
|
||||
inputs.walker.homeManagerModules.default
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
options = {
|
||||
desktop = {
|
||||
hyprland = {
|
||||
enable = lib.mkEnableOption "enable hyprland";
|
||||
monitors = lib.mkOption {
|
||||
default = [
|
||||
",preferred,auto,1"
|
||||
|
|
@ -45,7 +44,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf osConfig.desktop.window-managers.hyprland.enable {
|
||||
config = lib.mkIf osConfig.desktop.hyprland.enable {
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
configPackages = [
|
||||
|
|
@ -98,9 +97,9 @@
|
|||
(lib.mkIf (osConfig.desktop.shell.rofi.enable) "$mod, D, exec, rofi -show drun")
|
||||
"$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.shell.walker.enable && 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"
|
||||
)
|
||||
(lib.mkIf (osConfig.desktop.shell.walker.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, F, fullscreen, 1"
|
||||
"$shiftmod, F, fullscreen, 0"
|
||||
"$shiftmod, Q, killactive,"
|
||||
|
|
|
|||
|
|
@ -8,102 +8,105 @@
|
|||
}:
|
||||
|
||||
let
|
||||
modifier = if (osConfig.keybinds.modifier == "Meta") then "Mod" else null;
|
||||
modifier = lib.mkIf (${osConfig.keybinds.modifier} == "Meta") "Mod";
|
||||
kb-layout = builtins.substring 0 2 osConfig.system.locale;
|
||||
in
|
||||
|
||||
{
|
||||
config =
|
||||
if osConfig.desktop.window-managers.niri.enable then
|
||||
{
|
||||
home.file = {
|
||||
"~/.config/niri/config.kdl" = ''
|
||||
input {
|
||||
options = {
|
||||
desktop.window-managers = {
|
||||
niri = {
|
||||
};
|
||||
};
|
||||
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "${kb-layout}"
|
||||
}
|
||||
repeat-delay 600
|
||||
repeat-rate 20
|
||||
track-layout "global"
|
||||
}
|
||||
touchpad {
|
||||
tap
|
||||
dwt
|
||||
accel-profile "flat"
|
||||
accel-speed 0.0
|
||||
scroll-method "two-finger"
|
||||
};
|
||||
config = lib.mkIf osConfig.desktop.window-managers.niri.enable {
|
||||
home.file = {
|
||||
"~/.config/niri/config.kdl" = ''
|
||||
input {
|
||||
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "${kb-layout}"
|
||||
}
|
||||
repeat-delay 600
|
||||
repeat-rate 20
|
||||
track-layout "global"
|
||||
}
|
||||
touchpad {
|
||||
tap
|
||||
dwt
|
||||
accel-profile "flat"
|
||||
accel-speed 0.0
|
||||
scroll-method "two-finger"
|
||||
|
||||
|
||||
}
|
||||
mouse {
|
||||
accel-speed 0.5
|
||||
accel-profile "flat"
|
||||
}
|
||||
mouse {
|
||||
accel-speed 0.5
|
||||
accel-profile "flat"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
hot-corners {
|
||||
off
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
cursor {
|
||||
hide-when-typing
|
||||
hide-after-inactive-ms 2000
|
||||
}
|
||||
|
||||
xwayland-satellite {
|
||||
path "xwayland-satellite"
|
||||
}
|
||||
|
||||
hotkey-overlay {
|
||||
hide-not-bound
|
||||
}
|
||||
|
||||
binds {
|
||||
${modifier}+Down cooldown-ms=150 { focus-workspace-down; }
|
||||
${modifier}+Up cooldown-ms=150 { focus-workspace-up; }
|
||||
${modifier}+${osConfig.keybinds.hotkeys.terminal} { spawn "${osConfig.terminal.binary}";}
|
||||
${modifier}+Left {focus-column-left; }
|
||||
${modifier}+Right {focus-column-right; }
|
||||
${modifier}+${osConfig.keybinds.hotkeys.browser} { spawn "${osConfig.apps.browser.default}";}
|
||||
${modifier}+${osConfig.keybinds.hotkeys.launcher} { spawn "${osConfig.desktop.window-managers.shell.launcher.default}";}
|
||||
Print { screenshot;}
|
||||
${modifier}+Shift+${osConfig.keybinds.hotkeys.close-window} { close-window; }
|
||||
${modifier}+Shift+${osConfig.keybinds.hotkeys.editor} { spawn "${osConfig.apps.development.editor.default}";}
|
||||
}
|
||||
|
||||
spawn-at-startup "elephant"
|
||||
spawn-at-startup "noctalia-shell"
|
||||
|
||||
|
||||
layout {
|
||||
gaps 20
|
||||
focus-ring {
|
||||
width 5
|
||||
}
|
||||
border {
|
||||
off
|
||||
}
|
||||
}
|
||||
window-rule {
|
||||
geometry-corner-radius 20
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
|
||||
prefer-no-csd
|
||||
|
||||
include "noctalia.kdl"
|
||||
|
||||
|
||||
'';
|
||||
};
|
||||
}
|
||||
else
|
||||
{ };
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
hot-corners {
|
||||
off
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
cursor {
|
||||
hide-when-typing
|
||||
hide-after-inactive-ms 2000
|
||||
}
|
||||
|
||||
xwayland-satellite {
|
||||
path "xwayland-satellite"
|
||||
}
|
||||
|
||||
hotkey-overlay {
|
||||
hide-not-bound
|
||||
}
|
||||
|
||||
binds {
|
||||
${modifier}+Down cooldown-ms=150 { focus-workspace-down; }
|
||||
${modifier}+Up cooldown-ms=150 { focus-workspace-up; }
|
||||
${modifier}+${osConfig.keybinds.hotkeys.terminal} { spawn "${osConfig.terminal.binary}";}
|
||||
${modifier}+Left {focus-column-left; }
|
||||
${modifier}+Right {focus-column-right; }
|
||||
${modifier}+${osConfig.keybinds.hotkeys.browser} { spawn "${osConfig.apps.browser.default}";}
|
||||
${modifier}+${osConfig.keybinds.hotkeys.launcher} { spawn "${osConfig.desktop.window-managers.shell.launcher.default}";}
|
||||
Print { screenshot;}
|
||||
${modifier}+Shift+${osConfig.keybinds.hotkeys.close-window} { close-window; }
|
||||
${modifier}+Shift+${osConfig.keybinds.hotkeys.editor} { spawn "${osConfig.apps.development.editor.default}";}
|
||||
}
|
||||
|
||||
spawn-at-startup "elephant"
|
||||
spawn-at-startup "noctalia-shell"
|
||||
|
||||
|
||||
layout {
|
||||
gaps 20
|
||||
focus-ring {
|
||||
width 5
|
||||
}
|
||||
border {
|
||||
off
|
||||
}
|
||||
}
|
||||
window-rule {
|
||||
geometry-corner-radius 20
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
|
||||
prefer-no-csd
|
||||
|
||||
include "noctalia.kdl"
|
||||
|
||||
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,68 +3,70 @@
|
|||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
config =
|
||||
if osConfig.desktop.window-managers.sway.enable then
|
||||
{
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
package = pkgs.swayfx;
|
||||
config = {
|
||||
modifier = "Mod4";
|
||||
startup = [
|
||||
{ command = "elephant"; }
|
||||
];
|
||||
keybindings =
|
||||
let
|
||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||
in
|
||||
{
|
||||
"${modifier}+Return" = "exec ${config.wayland.windowManager.sway.config.terminal}";
|
||||
"${modifier}+Shift+q" = "kill";
|
||||
"${modifier}+d" = "exec walker";
|
||||
"${modifier}+o" = "exec zen";
|
||||
"${modifier}+Control+right" = "exec /home/marty/.config/sway/scripts/workspaceswitcher right";
|
||||
"${modifier}+Control+left" = "exec /home/marty/.config/sway/scripts/workspaceswitcher left";
|
||||
"${modifier}+f" = "fullscreen";
|
||||
options = {
|
||||
desktop.window-managers = {
|
||||
sway = {
|
||||
};
|
||||
};
|
||||
|
||||
"${modifier}+1" = "workspace number 1";
|
||||
"${modifier}+2" = "workspace number 2";
|
||||
"${modifier}+3" = "workspace number 3";
|
||||
"${modifier}+4" = "workspace number 4";
|
||||
"${modifier}+5" = "workspace number 5";
|
||||
"${modifier}+6" = "workspace number 6";
|
||||
"${modifier}+7" = "workspace number 7";
|
||||
"${modifier}+8" = "workspace number 8";
|
||||
"${modifier}+9" = "workspace number 9";
|
||||
"${modifier}+s" = "workspace number 0";
|
||||
};
|
||||
config = lib.mkIf osConfig.desktop.window-managers.sway.enable {
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
package = pkgs.swayfx;
|
||||
config = {
|
||||
modifier = "Mod4";
|
||||
startup = [
|
||||
{ command = "elephant"; }
|
||||
];
|
||||
keybindings =
|
||||
let
|
||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||
in
|
||||
{
|
||||
"${modifier}+Return" = "exec ${config.wayland.windowManager.sway.config.terminal}";
|
||||
"${modifier}+Shift+q" = "kill";
|
||||
"${modifier}+d" = "exec walker";
|
||||
"${modifier}+o" = "exec zen";
|
||||
"${modifier}+Control+right" = "exec /home/marty/.config/sway/scripts/workspaceswitcher right";
|
||||
"${modifier}+Control+left" = "exec /home/marty/.config/sway/scripts/workspaceswitcher left";
|
||||
"${modifier}+f" = "fullscreen";
|
||||
|
||||
"${modifier}+Shift+1" = "move container to workspace number 1";
|
||||
"${modifier}+Shift+2" = "move container to workspace number 2";
|
||||
"${modifier}+Shift+3" = "move container to workspace number 3";
|
||||
"${modifier}+Shift+4" = "move container to workspace number 4";
|
||||
"${modifier}+Shift+5" = "move container to workspace number 5";
|
||||
"${modifier}+Shift+6" = "move container to workspace number 6";
|
||||
"${modifier}+Shift+7" = "move container to workspace number 7";
|
||||
"${modifier}+Shift+8" = "move container to workspace number 8";
|
||||
"${modifier}+Shift+9" = "move container to workspace number 9";
|
||||
"${modifier}+Shift+s" = "move container to workspace number 0";
|
||||
};
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = builtins.substring 0 2 osConfig.system.locale;
|
||||
};
|
||||
};
|
||||
defaultWorkspace = "workspace number 1";
|
||||
terminal = osConfig.desktop.defaults.terminal.binary;
|
||||
"${modifier}+1" = "workspace number 1";
|
||||
"${modifier}+2" = "workspace number 2";
|
||||
"${modifier}+3" = "workspace number 3";
|
||||
"${modifier}+4" = "workspace number 4";
|
||||
"${modifier}+5" = "workspace number 5";
|
||||
"${modifier}+6" = "workspace number 6";
|
||||
"${modifier}+7" = "workspace number 7";
|
||||
"${modifier}+8" = "workspace number 8";
|
||||
"${modifier}+9" = "workspace number 9";
|
||||
"${modifier}+s" = "workspace number 0";
|
||||
|
||||
"${modifier}+Shift+1" = "move container to workspace number 1";
|
||||
"${modifier}+Shift+2" = "move container to workspace number 2";
|
||||
"${modifier}+Shift+3" = "move container to workspace number 3";
|
||||
"${modifier}+Shift+4" = "move container to workspace number 4";
|
||||
"${modifier}+Shift+5" = "move container to workspace number 5";
|
||||
"${modifier}+Shift+6" = "move container to workspace number 6";
|
||||
"${modifier}+Shift+7" = "move container to workspace number 7";
|
||||
"${modifier}+Shift+8" = "move container to workspace number 8";
|
||||
"${modifier}+Shift+9" = "move container to workspace number 9";
|
||||
"${modifier}+Shift+s" = "move container to workspace number 0";
|
||||
};
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = builtins.substring 0 2 osConfig.system.locale;
|
||||
};
|
||||
checkConfig = false;
|
||||
};
|
||||
}
|
||||
else
|
||||
{ };
|
||||
defaultWorkspace = "workspace number 1";
|
||||
terminal = osConfig.desktop.defaults.terminal.binary;
|
||||
};
|
||||
checkConfig = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
};
|
||||
|
||||
imports = [
|
||||
./../../home
|
||||
./../../modules
|
||||
];
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,26 +16,11 @@
|
|||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[ ]
|
||||
++ (
|
||||
if (config.apps.audio.base.enable) then
|
||||
[
|
||||
pavucontrol
|
||||
playerctl
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
)
|
||||
++ (
|
||||
if (config.apps.audio.editing.enable) then
|
||||
[
|
||||
tenacity
|
||||
flac
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (apps.audio.base.enable) pavucontrol)
|
||||
(lib.mkIf (apps.audio.base.enable) playerctl)
|
||||
(lib.mkIf (apps.audio.editing.enable) tenacity)
|
||||
(lib.mkIf (apps.audio.editing.enable) flac)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
./misc
|
||||
./peripherals
|
||||
./video
|
||||
./sync
|
||||
./terminal
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
{
|
||||
imports = [
|
||||
./git.nix
|
||||
./editor.nix
|
||||
./godot.nix
|
||||
./languages.nix
|
||||
|
|
|
|||
|
|
@ -11,54 +11,44 @@
|
|||
editor = {
|
||||
vscodium.enable = lib.mkEnableOption "enable vscodium";
|
||||
emacs.enable = lib.mkEnableOption "enable emacs";
|
||||
default = lib.mkOption {
|
||||
default = "vscodium";
|
||||
description = "default editor";
|
||||
};
|
||||
default = "vscodium";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[
|
||||
nixfmt
|
||||
]
|
||||
++ (if config.development.editor.vscodium.enable then [ vscodium ] else [ ]);
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf config.development.editor.vscodium.enable vscodium)
|
||||
nixfmt
|
||||
];
|
||||
|
||||
programs = {
|
||||
vscode =
|
||||
if config.development.editor.vscodium.enable then
|
||||
{
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
defaultEditor = if (config.development.editor.default == "vscodium") then true else false;
|
||||
# profiles.default.extensions = with pkgs.vscode-extensions; [
|
||||
# catppuccin.catppuccin-vsc
|
||||
# catppuccin.catppuccin-vsc-icons
|
||||
# jnoortheen.nix-ide
|
||||
# alefragnani.project-manager
|
||||
# naumovs.color-highlight
|
||||
# geequlim.godot-tools
|
||||
# stylelint.vscode-stylelint
|
||||
# ecmel.vscode-html-css
|
||||
# esbenp.prettier-vscode
|
||||
# ];
|
||||
}
|
||||
else
|
||||
{ };
|
||||
vscode = lib.mkIf config.development.editor.vscodium.enable {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
defaultEditor = lib.mkIf (config.development.editor.default == "vscodium") true;
|
||||
profiles.default.extensions = with pkgs.vscode-extensions; [
|
||||
catppuccin.catppuccin-vsc
|
||||
catppuccin.catppuccin-vsc-icons
|
||||
jnoortheen.nix-ide
|
||||
alefragnani.project-manager
|
||||
naumovs.color-highlight
|
||||
geequlim.godot-tools
|
||||
stylelint.vscode-stylelint
|
||||
ecmel.vscode-html-css
|
||||
esbenp.prettier-vscode
|
||||
];
|
||||
};
|
||||
};
|
||||
services = {
|
||||
emacs =
|
||||
if config.development.editor.emacs.enable then
|
||||
{
|
||||
enable = true;
|
||||
install = true;
|
||||
defaultEditor = if (config.development.editor.default == "emacs") then true else false;
|
||||
}
|
||||
else
|
||||
{ };
|
||||
emacs = lib.mkIf config.development.editor.emacs.enable {
|
||||
enable = true;
|
||||
install = true;
|
||||
defaultEditor = lib.mkIf (config.development.editor.default == "emacs") true;
|
||||
};
|
||||
};
|
||||
home.sessionVariables = {
|
||||
EDITOR = lib.mkDefault "codium";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
programs = {
|
||||
git = {
|
||||
enable = true;
|
||||
config = {
|
||||
settings = {
|
||||
init = {
|
||||
defaultBranch = "main";
|
||||
};
|
||||
|
|
@ -12,14 +12,9 @@
|
|||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
if config.apps.development.godot.enable then
|
||||
with pkgs;
|
||||
[
|
||||
godot
|
||||
]
|
||||
else
|
||||
[ ];
|
||||
config = lib.mkIf config.apps.development.godot.enable {
|
||||
systemPackages = with pkgs; [
|
||||
godot
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,15 +8,13 @@
|
|||
{
|
||||
options = {
|
||||
apps.development.languages = {
|
||||
python.enable = lib.mkEnableOption "enable python";
|
||||
python = lib.mkEnableOption "enable python";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[
|
||||
]
|
||||
++ (if config.apps.development.languages.python.enable then [ virtualenv ] else [ ]);
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf lib.mkIf config.development.languages.python.enable virtualenv)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,65 +6,8 @@
|
|||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.gaming = {
|
||||
enable = lib.mkEnableOption "enable gaming";
|
||||
steam.enable = lib.mkEnableOption "enable steam";
|
||||
minecraft.enable = lib.mkEnableOption "enable minecraft";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[ ]
|
||||
++ (
|
||||
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 = {
|
||||
steam =
|
||||
if config.apps.gaming.steam.enable then
|
||||
{
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
gamescopeSession.enable = true;
|
||||
protontricks.enable = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
extraPackages = with pkgs; [
|
||||
gamescope
|
||||
];
|
||||
}
|
||||
else
|
||||
{ };
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
./steam.nix
|
||||
./minecraft.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
20
modules/apps/gaming/minecraft.nix
Normal file
20
modules/apps/gaming/minecraft.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.gaming = {
|
||||
minecraft.enable = lib.mkEnableOption "enable minecraft";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.apps.gaming.minecraft.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
prismlauncher
|
||||
];
|
||||
};
|
||||
}
|
||||
41
modules/apps/gaming/steam.nix
Normal file
41
modules/apps/gaming/steam.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.gaming = {
|
||||
steam.enable = lib.mkEnableOption "enable steam";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.apps.gaming.steam.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
adwsteamgtk
|
||||
];
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
gamescopeSession.enable = true;
|
||||
protontricks.enable = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
extraPackages = with pkgs; [
|
||||
gamescope
|
||||
];
|
||||
};
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
@ -15,25 +15,10 @@
|
|||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[ ]
|
||||
++ (
|
||||
if (config.apps.image.base.enable) then
|
||||
|
||||
[ nomacs ]
|
||||
else
|
||||
[ ]
|
||||
)
|
||||
++ (
|
||||
if (config.apps.image.editing.enable) then
|
||||
|
||||
[
|
||||
gimp3-with-plugins
|
||||
krita
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (apps.image.base.enable) nomacs)
|
||||
(lib.mkIf (apps.image.editing.enable) gimp3-with-plugins)
|
||||
(lib.mkIf (apps.image.editing.enable) krita)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,19 +26,9 @@
|
|||
};
|
||||
config = {
|
||||
|
||||
environment.systemPackages =
|
||||
[ ]
|
||||
++ (
|
||||
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
|
||||
[ ]
|
||||
);
|
||||
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)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,43 +16,16 @@
|
|||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[
|
||||
libsecret
|
||||
gcr_4
|
||||
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
|
||||
[ ]
|
||||
);
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (config.apps.misc.obsidian.enable) obsidian)
|
||||
(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
|
||||
gcr_4
|
||||
pass
|
||||
];
|
||||
programs = {
|
||||
seahorse.enable = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -31,30 +31,22 @@
|
|||
};
|
||||
config = {
|
||||
programs = {
|
||||
kdeconnect =
|
||||
if config.apps.sync.kde-connect.enable then
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
else
|
||||
{ };
|
||||
kdeconnect = lib.mkIf config.apps.sync.kde-connect.enable {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
services = {
|
||||
syncthing =
|
||||
if config.apps.sync.syncthing.enable then
|
||||
{
|
||||
enable = true;
|
||||
tray.enable = true;
|
||||
guiAddress = "0.0.0.0:8384";
|
||||
settings = {
|
||||
devices = config.apps.sync.syncthing.devices;
|
||||
folders = config.apps.sync.syncthing.folders;
|
||||
};
|
||||
overrideDevices = if (config.apps.sync.syncthing.devices == { }) then false else true;
|
||||
overrideFolders = if (config.apps.sync.syncthing.folders == { }) then false else true;
|
||||
}
|
||||
else
|
||||
{ };
|
||||
syncthing = lib.mkIf config.apps.sync.syncthing.enable {
|
||||
enable = true;
|
||||
tray.enable = true;
|
||||
guiAddress = "0.0.0.0:8384";
|
||||
settings = {
|
||||
devices = config.apps.sync.syncthing.devices;
|
||||
folders = config.apps.sync.syncthing.folders;
|
||||
};
|
||||
overrideDevices = lib.mkIf (config.apps.sync.syncthing.devices == { }) false;
|
||||
overrideFolders = lib.mkIf (config.apps.sync.syncthing.folders == { }) false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,20 +19,15 @@
|
|||
bc
|
||||
openssl
|
||||
]
|
||||
++ (
|
||||
if config.apps.terminal.toys then
|
||||
[
|
||||
++ lib.mkIf config.apps.terminal.toys [
|
||||
|
||||
asciiquarium-transparent
|
||||
cava
|
||||
bunnyfetch
|
||||
nerdfetch
|
||||
fastfetch
|
||||
cmatrix
|
||||
astroterm
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
asciiquarium-transparent
|
||||
cava
|
||||
bunnyfetch
|
||||
nerdfetch
|
||||
fastfetch
|
||||
cmatrix
|
||||
astroterm
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,25 +13,13 @@
|
|||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
# apps.terminal =
|
||||
# if (config.apps.terminal.default == "kitty") then
|
||||
# {
|
||||
# package = pkgs.kitty;
|
||||
# binary = "${pkgs.kitty}/bin/kitty";
|
||||
# }
|
||||
# else
|
||||
# { };
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[ ]
|
||||
++ (
|
||||
if config.apps.terminal.kitty.enable then
|
||||
[
|
||||
kitty
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
config = lib.mkIf config.apps.terminal.kitty.enable {
|
||||
terminal = lib.mkIf (config.apps.terminal.default == "kitty") {
|
||||
package = pkgs.kitty;
|
||||
binary = "${pkgs.kitty}/bin/kitty";
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
kitty
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,16 +18,8 @@ in
|
|||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[
|
||||
]
|
||||
++ (
|
||||
if tt.ranger.enable then
|
||||
|
||||
[ ranger ]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (tt.ranger.enable) ranger)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,32 +16,11 @@
|
|||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[ ]
|
||||
++ (
|
||||
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
|
||||
[ ]
|
||||
);
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (apps.video.base.enable) mpv)
|
||||
(lib.mkIf (apps.video.editing.enable) kdePackages.kdenlive)
|
||||
(lib.mkIf (apps.video.media.enable) jellyfin-desktop)
|
||||
(lib.mkIf (apps.video.media.enable) pipeline)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,35 +30,22 @@
|
|||
programs = {
|
||||
uwsm = {
|
||||
waylandCompositors = {
|
||||
hyprland =
|
||||
if config.desktop.window-managers.hyprland.enable then
|
||||
{
|
||||
prettyName = "Hyprland";
|
||||
comment = "Hyprland";
|
||||
binPath = "${config.programs.hyprland.package}/bin/start-hyprland";
|
||||
}
|
||||
else
|
||||
{ };
|
||||
sway =
|
||||
if config.desktop.window-managers.sway.enable then
|
||||
{
|
||||
prettyName = "Sway";
|
||||
comment = "Sway";
|
||||
binPath = "${config.programs.sway.package}/bin/sway --session";
|
||||
}
|
||||
else
|
||||
{ };
|
||||
niri =
|
||||
if config.desktop.window-managers.niri.enable then
|
||||
{
|
||||
prettyName = "Niri";
|
||||
comment = "Niri";
|
||||
binPath = "${config.programs.niri.package}/bin/niri-session";
|
||||
}
|
||||
else
|
||||
{ };
|
||||
hyprland = lib.mkIf config.desktop.window-managers.hyprland.enable {
|
||||
prettyName = "Hyprland";
|
||||
comment = "Hyprland";
|
||||
binPath = "${config.programs.hyprland.package}/bin/start-hyprland";
|
||||
};
|
||||
sway = lib.mkIf config.desktop.window-managers.sway.enable {
|
||||
prettyName = "Sway";
|
||||
comment = "Sway";
|
||||
binPath = "${config.programs.sway.package}/bin/sway --session";
|
||||
};
|
||||
niri = lib.mkIf config.desktop.window-managers.niri.enable {
|
||||
prettyName = "Niri";
|
||||
comment = "Niri";
|
||||
binPath = "${config.programs.niri.package}/bin/niri-session";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
xdg.portal.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,23 +12,20 @@
|
|||
walker.enable = lib.mkEnableOption "enable walker";
|
||||
rofi.enable = lib.mkEnableOption "enable rofi";
|
||||
launcher = lib.mkOption {
|
||||
default = (if config.desktop.shell.walker.enable then "walker" else null);
|
||||
default = (lib.mkIf config.desktop.shell.walker.enable "walker");
|
||||
description = "default launcher";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[
|
||||
]
|
||||
++ (
|
||||
if config.desktop.shell.rofi.enable then
|
||||
|
||||
[ rofi ]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
config = {
|
||||
programs = {
|
||||
walker = lib.mkIf config.desktop.shell.walker.enable {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (config.desktop.shell.rofi.enable) rofi)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,4 +12,13 @@
|
|||
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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,20 +13,10 @@
|
|||
};
|
||||
};
|
||||
|
||||
config =
|
||||
|
||||
{
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[ ]
|
||||
++ (
|
||||
if config.desktop.shell.swww.enable then
|
||||
[
|
||||
waypaper
|
||||
swww
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
};
|
||||
config = lib.mkIf config.desktop.shell.swww.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
waypaper
|
||||
swww
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,15 +12,11 @@
|
|||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
programs =
|
||||
if config.desktop.shell.waybar.enable then
|
||||
{
|
||||
waybar = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
else
|
||||
{ };
|
||||
config = lib.mkIf config.desktop.shell.waybar.enable {
|
||||
programs = {
|
||||
waybar = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,21 +13,10 @@
|
|||
};
|
||||
};
|
||||
|
||||
config =
|
||||
|
||||
{
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[ ]
|
||||
++ (
|
||||
if config.desktop.utilities.grimblast.enable then
|
||||
with pkgs;
|
||||
[
|
||||
grimblast
|
||||
gradia
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
};
|
||||
config = lib.mkIf config.desktop.utilities.grimblast.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
grimblast
|
||||
gradia
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,20 +14,14 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
config =
|
||||
|
||||
{
|
||||
programs.hyprland =
|
||||
if config.desktop.window-managers.hyprland.enable then
|
||||
{
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
}
|
||||
else
|
||||
{ };
|
||||
config = lib.mkIf config.desktop.window-managers.hyprland.enable {
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,24 +13,13 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[ ]
|
||||
++ (
|
||||
if config.desktop.window-managers.niri.enable then
|
||||
[
|
||||
xwayland-satellite
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
programs.niri =
|
||||
if config.desktop.window-managers.niri.enable then
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
else
|
||||
{ };
|
||||
config = lib.mkIf config.desktop.window-managers.niri.enable {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
xwayland-satellite
|
||||
];
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,15 +13,12 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
programs.sway =
|
||||
if config.desktop.window-managers.sway.enable then
|
||||
{
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
package = null;
|
||||
}
|
||||
else
|
||||
{ };
|
||||
config = lib.mkIf config.desktop.window-managers.sway.enable {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
package = null;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
{
|
||||
imports = [
|
||||
./boot.nix
|
||||
./git.nix
|
||||
./shell.nix
|
||||
./networking.nix
|
||||
./localization.nix
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
{
|
||||
networking = {
|
||||
domain = "maty.tf";
|
||||
domain = config.domain;
|
||||
networkmanager.enable = true;
|
||||
firewall = {
|
||||
enable = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue