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 = {
|
||||
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"
|
||||
|
||||
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 = [
|
||||
./audio
|
||||
./development
|
||||
./gaming
|
||||
./image
|
||||
./misc
|
||||
./peripherals
|
||||
./video
|
||||
./terminal
|
||||
];
|
||||
|
|
|
|||
|
|
@ -13,8 +13,4 @@
|
|||
./godot.nix
|
||||
./openssl.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
bc
|
||||
imagemagick
|
||||
];
|
||||
}
|
||||
|
|
@ -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;
|
||||
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
|
||||
btop
|
||||
bc
|
||||
openssl
|
||||
]
|
||||
++ lib.mkIf config.apps.terminal.toys [
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
|
||||
{
|
||||
imports = [
|
||||
./launcher.nix
|
||||
./noctalia.nix
|
||||
./swww.nix
|
||||
./walker.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 = [
|
||||
./hyprland.nix
|
||||
./niri.nix
|
||||
|
|
|
|||
|
|
@ -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 = ''
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue