the refactor continues!
This commit is contained in:
parent
db2103a37d
commit
90513a119c
21 changed files with 216 additions and 234 deletions
|
|
@ -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"
|
|
||||||
|
|
@ -7,6 +7,11 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
modifier = lib.mkIf (${osConfig.keybinds.modifier} == "Meta") "Mod";
|
||||||
|
kb-layout = builtins.substring 0 2 osConfig.system.locale;
|
||||||
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
desktop.window-managers = {
|
desktop.window-managers = {
|
||||||
|
|
@ -16,7 +21,91 @@
|
||||||
|
|
||||||
};
|
};
|
||||||
config = lib.mkIf osConfig.desktop.window-managers.niri.enable {
|
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"
|
||||||
|
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
openssl
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -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)
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -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)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./bitwarden.nix
|
|
||||||
./syncthing.nix
|
|
||||||
./secrets.nix
|
|
||||||
./obsidian.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -8,8 +8,11 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./audio
|
./audio
|
||||||
|
./development
|
||||||
./gaming
|
./gaming
|
||||||
./image
|
./image
|
||||||
|
./misc
|
||||||
|
./peripherals
|
||||||
./video
|
./video
|
||||||
./terminal
|
./terminal
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,4 @@
|
||||||
./godot.nix
|
./godot.nix
|
||||||
./openssl.nix
|
./openssl.nix
|
||||||
];
|
];
|
||||||
home.packages = with pkgs; [
|
|
||||||
bc
|
|
||||||
imagemagick
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
@ -6,13 +6,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
options = {
|
config = {
|
||||||
development = {
|
|
||||||
git.enable = lib.mkEnableOption "enable git";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.development.git.enable {
|
|
||||||
programs = {
|
programs = {
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -21,8 +15,8 @@
|
||||||
defaultBranch = "main";
|
defaultBranch = "main";
|
||||||
};
|
};
|
||||||
user = {
|
user = {
|
||||||
email = "marty@marty.tf";
|
email = "${config.user.email}";
|
||||||
name = "marty";
|
name = "${config.user.userName}";
|
||||||
};
|
};
|
||||||
push = {
|
push = {
|
||||||
autoSetupRemote = true;
|
autoSetupRemote = true;
|
||||||
56
modules/apps/misc/default.nix
Normal file
56
modules/apps/misc/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -16,6 +16,8 @@
|
||||||
[
|
[
|
||||||
unzip
|
unzip
|
||||||
btop
|
btop
|
||||||
|
bc
|
||||||
|
openssl
|
||||||
]
|
]
|
||||||
++ lib.mkIf config.apps.terminal.toys [
|
++ lib.mkIf config.apps.terminal.toys [
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./launcher.nix
|
||||||
./noctalia.nix
|
./noctalia.nix
|
||||||
./swww.nix
|
./swww.nix
|
||||||
./walker.nix
|
|
||||||
./waybar.nix
|
./waybar.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
31
modules/desktop/shell/launcher.nix
Normal file
31
modules/desktop/shell/launcher.nix
Normal 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)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -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 = [
|
imports = [
|
||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
./niri.nix
|
./niri.nix
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,10 @@
|
||||||
main user name
|
main user name
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
email = lib.mkOption {
|
||||||
|
default = "${config.user.userName}@${config.domain}";
|
||||||
|
description = "main user email"
|
||||||
|
}
|
||||||
shell = lib.mkOption {
|
shell = lib.mkOption {
|
||||||
default = pkgs.fish;
|
default = pkgs.fish;
|
||||||
description = ''
|
description = ''
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue