the refactor continues!

This commit is contained in:
martyTF 2026-04-01 16:00:52 +02:00
parent db2103a37d
commit 90513a119c
21 changed files with 216 additions and 234 deletions

View file

@ -1,36 +0,0 @@
output "AOC Q27G2WG4" {
mode "2560x1440@144"
position x=3840 y=0
variable-refresh-rate on-demand=true
}
input {
keyboard {
xkb {
layout "de"
}
repeat-delay 600
repeat-rate 20
track-layout "global"
}
touchpad {
}
mouse {
accel-speed 0.5
accel-profile "flat"
}
}
binds {
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
Mod+Left {focus-column-left; }
Mod+Right {focus-column-right; }
Mod+D { spawn "walker"; }
Mod+Shift+P { quit; }
Mod+Return { spawn "kitty";}
}
include "./noctalia.kdl"

View file

@ -7,6 +7,11 @@
...
}:
let
modifier = lib.mkIf (${osConfig.keybinds.modifier} == "Meta") "Mod";
kb-layout = builtins.substring 0 2 osConfig.system.locale;
in
{
options = {
desktop.window-managers = {
@ -16,7 +21,91 @@
};
config = lib.mkIf osConfig.desktop.window-managers.niri.enable {
xdg.configFile."niri/config.kdl".source = ../../configs/niri/config.kdl;
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"
}
}
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 "zen";}
${modifier}+${osConfig.keybinds.hotkeys.launcher} { spawn "walker";}
Print { screenshot;}
${modifier}+Shift+Q { close-window; }
}
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"
'';
};
};
}

View file

@ -1,12 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
home.packages = with pkgs; [
openssl
];
}

View file

@ -1,21 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
development = {
python.enable = lib.mkEnableOption "enable python";
};
};
config = lib.mkIf config.development.python.enable {
home.packages = with pkgs; [
uv
virtualenv
];
};
}

View file

@ -1,28 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
media = {
threeD = {
enable = lib.mkEnableOption "enable all 3d media";
blender.enable = lib.mkEnableOption "enable blender";
};
};
};
config = {
media.threeD = lib.mkIf config.media.threeD.enable {
blender.enable = lib.mkDefault true;
};
home.packages = with pkgs; [
(lib.mkIf (config.media.threeD.blender.enable) blender)
];
};
}

View file

@ -1,22 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
misc = {
bitwarden.enable = lib.mkEnableOption "enable bitwarden";
};
};
config = lib.mkIf config.misc.bitwarden.enable {
home.packages = with pkgs; [
rbw
pinentry-curses
(lib.mkIf (config.desktop.rofi.enable) rofi-rbw)
];
};
}

View file

@ -1,15 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [
./bitwarden.nix
./syncthing.nix
./secrets.nix
./obsidian.nix
];
}

View file

@ -1,20 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
misc = {
obsidian.enable = lib.mkEnableOption "enable obsidian";
};
};
config = lib.mkIf config.misc.obsidian.enable {
home.packages = with pkgs; [
obsidian
];
};
}

View file

@ -1,42 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
syncthing.devices = lib.mkOption {
default = { };
description = ''
set syncthing devices
'';
};
syncthing.folders = lib.mkOption {
default = { };
description = ''
set syncthing folders
'';
};
};
config = {
home.packages = with pkgs; [
localsend
];
services = {
syncthing = {
enable = true;
tray.enable = true;
guiAddress = "0.0.0.0:8384";
settings = {
devices = config.syncthing.devices;
folders = config.syncthing.folders;
};
overrideDevices = lib.mkIf (config.syncthing.devices == { }) false;
overrideFolders = lib.mkIf (config.syncthing.folders == { }) false;
};
};
};
}

View file

@ -8,8 +8,11 @@
{
imports = [
./audio
./development
./gaming
./image
./misc
./peripherals
./video
./terminal
];

View file

@ -13,8 +13,4 @@
./godot.nix
./openssl.nix
];
home.packages = with pkgs; [
bc
imagemagick
];
}

View file

@ -6,13 +6,7 @@
}:
{
options = {
development = {
git.enable = lib.mkEnableOption "enable git";
};
};
config = lib.mkIf config.development.git.enable {
config = {
programs = {
git = {
enable = true;
@ -21,8 +15,8 @@
defaultBranch = "main";
};
user = {
email = "marty@marty.tf";
name = "marty";
email = "${config.user.email}";
name = "${config.user.userName}";
};
push = {
autoSetupRemote = true;

View file

@ -0,0 +1,56 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
apps.misc = {
obsidian.enable = lib.mkEnableOption "enable obsidian";
bitwarden.enable = lib.mkEnableOption "enable bitwarden";
blender.enable = lib.mkEnableOption "enable blender";
syncthing = {
enable = lib.mkEnableOption "enable syncthing";
devices = lib.mkOption {
default = { };
description = ''
set syncthing devices
'';
};
folders = lib.mkOption {
default = { };
description = ''
set syncthing folders
'';
};
};
};
};
config = {
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)
];
services = {
syncthing = lib.mkIf config.apps.misc.syncthing.enable {
enable = true;
tray.enable = true;
guiAddress = "0.0.0.0:8384";
settings = {
devices = config.apps.misc.syncthing.devices;
folders = config.apps.misc.syncthing.folders;
};
overrideDevices = lib.mkIf (config.apps.misc.syncthing.devices == { }) false;
overrideFolders = lib.mkIf (config.apps.misc.syncthing.folders == { }) false;
};
};
};
}

View file

@ -16,6 +16,8 @@
[
unzip
btop
bc
openssl
]
++ lib.mkIf config.apps.terminal.toys [

View file

@ -7,9 +7,9 @@
{
imports = [
./launcher.nix
./noctalia.nix
./swww.nix
./walker.nix
./waybar.nix
];
}

View file

@ -0,0 +1,31 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
desktop.shell = {
walker.enable = lib.mkEnableOption "enable walker";
rofi.enable = lib.mkEnableOption "enable rofi";
launcher = lib.mkOption {
default = (lib.mkIf config.desktop.shell.walker.enable "walker");
description = "default launcher"
};
};
};
config = {
programs = {
walker = lib.mkIf config.desktop.shell.walker.enable {
enable = true;
};
};
environment.systemPackages = with pkgs; [
(lib.mkIf (config.desktop.shell.rofi.enable) rofi)
];
};
}

View file

@ -1,23 +0,0 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
desktop.shell = {
walker.enable = lib.mkEnableOption "enable walker";
};
};
config = lib.mkIf config.desktop.shell.walker.enable {
programs = {
walker = {
enable = true;
};
};
};
}

View file

@ -6,6 +6,32 @@
}:
{
options = {
keybinds = {
modifier = lib.mkOption {
default = "Meta";
description = "modifier key";
};
hotkeys = {
terminal = lib.mkOption {
default = "Return";
description = "terminal hotkey";
};
launcher = lib.mkOption {
default = "D";
description = "launcher hotkey";
};
browser = lib.mkOption {
default = "O";
description = "browser hotkey";
};
editor = lib.mkOption {
default = "E";
description = "editor hotkey";
};
};
}
};
imports = [
./hyprland.nix
./niri.nix

View file

@ -15,6 +15,10 @@
main user name
'';
};
email = lib.mkOption {
default = "${config.user.userName}@${config.domain}";
description = "main user email"
}
shell = lib.mkOption {
default = pkgs.fish;
description = ''