we just gettin started

just a few more modules, like bitwarden, syncthing, screenshots
This commit is contained in:
martyTF 2025-12-20 05:59:46 +01:00
parent 6b87cd99c8
commit 5fa40025d0
23 changed files with 227 additions and 61 deletions

View file

@ -29,9 +29,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
# # Adds the 'hello' command to your environment. It prints a friendly # # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run. # # "Hello, world!" when run.
hello # hello
rbw
pinentry-curses
# # It is sometimes useful to fine-tune packages, for example, by applying # # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the # # overrides. You can do that directly here, just don't forget the
@ -92,7 +90,7 @@
kitty.enable = true; kitty.enable = true;
ranger.enable = true; ranger.enable = true;
}; };
window_manager = { desktop = {
hyprland = { hyprland = {
enable = true; enable = true;
monitors = [ monitors = [
@ -104,6 +102,30 @@
walker.enable = true; walker.enable = true;
wallpaper.enable = true; wallpaper.enable = true;
}; };
syncthing = {
devices = {
marty-pc = {
id = "6PJZD52-EEWIO7U-MZMJJ5B-33DGNSU-O7DJVRT-GAE7QZG-ZY3VIMV-VSMBDQP";
autoAcceptFolder = true;
};
marty-server = {
id = "UDMXEKZ-HYIFI5S-VAKE75O-K3C65QV-LS43QA5-3JTHWKL-CI5C3Y6-P4NSQQM";
autoAcceptFolders = true;
};
marty-latitude = {
id = "SOAWHKA-BCQGO5G-IJ24WTO-RDETP5M-LNTVO66-MHIOUU2-NNQ57P6-FFKNSA6";
autoAcceptFolders = true;
};
marty-pixel = {
id = "GSBXOGW-6SYLDUQ-HPH7FBJ-CKHWQIK-K5YORB4-CYKGYT6-DLCVSAK-LA2RMAK";
autoAcceptFolders = true;
};
marty-fairphone = {
id = "2ISVWQV-4USY5IA-2OU55CE-Q7VLPD7-4RVQ5WX-FXQSJMY-2ES4EZG-IGFB7QG";
autoAcceptFolders = true;
};
};
};
imports = [ imports = [
inputs.walker.homeManagerModules.default inputs.walker.homeManagerModules.default

View file

@ -29,9 +29,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
# # Adds the 'hello' command to your environment. It prints a friendly # # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run. # # "Hello, world!" when run.
hello # hello
rbw
pinentry-curses
# # It is sometimes useful to fine-tune packages, for example, by applying # # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the # # overrides. You can do that directly here, just don't forget the
@ -89,10 +87,15 @@
terminal = { terminal = {
kitty.enable = true; kitty.enable = true;
}; };
window_manager = { desktop = {
hyprland = { hyprland = {
enable = false; enable = false;
numlock = true; numlock = true;
monitors = [
"monitor = desc:AOC Q27G2WG4 0x00005F45, 2560x1440@144, 3840x0, 1 # main monitor"
"monitor = desc:Samsung Electric Company S24D330 0x5A5A5131, 1920x1080@60, 3840x1440, 1 # side monitor"
"monitor = desc:Panasonic Industry Company Panasonic-TV, 3840x2160@30, 0x0, 1 # tv"
];
}; };
waybar.enable = true; waybar.enable = true;
walker.enable = true; walker.enable = true;

View file

@ -29,9 +29,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
# # Adds the 'hello' command to your environment. It prints a friendly # # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run. # # "Hello, world!" when run.
hello # hello
rbw
pinentry-curses
# # It is sometimes useful to fine-tune packages, for example, by applying # # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the # # overrides. You can do that directly here, just don't forget the
@ -89,14 +87,6 @@
terminal = { terminal = {
kitty.enable = false; kitty.enable = false;
}; };
window_manager = {
hyprland = {
enable = false;
};
waybar.enable = false;
walker.enable = false;
wallpaper.enable = true;
};
imports = [ imports = [
inputs.walker.homeManagerModules.default inputs.walker.homeManagerModules.default

View file

@ -9,7 +9,7 @@
imports = [ imports = [
./development ./development
./terminal ./terminal
./window_manager ./desktop
./syncthing ./misc
]; ];
} }

21
modules/desktop/audio.nix Normal file
View file

@ -0,0 +1,21 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
desktop = {
audio.enable = lib.mkEnableOption "enable audio";
};
};
config = lib.mkIf config.desktop.audio.enable {
home.packages = with pkgs; [
pavucontrol
];
};
}

View file

@ -10,6 +10,8 @@
./hyprland.nix ./hyprland.nix
./walker.nix ./walker.nix
./waybar.nix ./waybar.nix
./rofi.nix
./wallpaper.nix ./wallpaper.nix
./screenshot.nix
]; ];
} }

View file

@ -7,8 +7,8 @@
{ {
options = { options = {
window_manager = { desktop = {
hyprland= { hyprland = {
enable = lib.mkEnableOption "enable hyprland"; enable = lib.mkEnableOption "enable hyprland";
monitors = lib.mkOption { monitors = lib.mkOption {
default = [ default = [
@ -21,7 +21,7 @@
}; };
}; };
config = lib.mkIf config.window_manager.hyprland.enable { config = lib.mkIf config.desktop.hyprland.enable {
xdg.portal = { xdg.portal = {
enable = true; enable = true;
configPackages = [ pkgs.xdg-desktop-portal-hyprland ]; configPackages = [ pkgs.xdg-desktop-portal-hyprland ];
@ -35,22 +35,23 @@
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
settings = { settings = {
monitor = config.window_manager.hyprland.monitors; monitor = config.desktop.hyprland.monitors;
exec-once = [ exec-once = [
(lib.mkIf (config.window_manager.walker.enable) "elephant") (lib.mkIf (config.desktop.walker.enable) "elephant")
(lib.mkIf (config.window_manager.waybar.enable) "waybar") (lib.mkIf (config.desktop.waybar.enable) "waybar")
(lib.mkIf (config.window_manager.wallpaper.enable) "waypaper --restore --random") (lib.mkIf (config.desktop.wallpaper.enable) "waypaper --restore --random")
]; ];
"$mod" = "SUPER"; "$mod" = "SUPER";
"$shiftmod" = "SUPER_SHIFT"; "$shiftmod" = "SUPER_SHIFT";
bind = [ bind = [
(lib.mkIf (config.window_manager.walker.enable) "$mod, D, exec, walker") (lib.mkIf (config.desktop.walker.enable) "$mod, D, exec, walker")
(lib.mkIf (config.desktop.rofi.enable) "$mod, D, exec, rofi -show drun")
(lib.mkIf (config.terminal.kitty.enable) "$mod, return, exec, kitty") (lib.mkIf (config.terminal.kitty.enable) "$mod, return, exec, kitty")
"$shiftmod, Q, killactive," "$shiftmod, Q, killactive,"
]; ];
input = { input = {
kb_layout = "de"; kb_layout = "de";
numlock_by_default = config.window_manager.hyprland.numlock; numlock_by_default = config.desktop.hyprland.numlock;
follow_mouse = 2; follow_mouse = 2;
mouse_refocus = false; mouse_refocus = false;
accel_profile = "flat"; accel_profile = "flat";

29
modules/desktop/rofi.nix Normal file
View file

@ -0,0 +1,29 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
desktop = {
rofi.enable = lib.mkEnableOption "enable rofi";
};
};
config = lib.mkIf config.desktop.rofi.enable {
programs = {
rofi = {
enable = true;
modes = [
"drun"
"run"
"ssh"
];
};
};
};
}

View file

@ -0,0 +1,22 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
desktop = {
grimshot.enable = lib.mkEnableOption "enable grimshot";
};
};
config = lib.mkIf config.desktop.grimshot.enable {
home.packages = with pkgs; [
grimblast
gradia
];
};
}

View file

@ -8,12 +8,12 @@
{ {
options = { options = {
window_manager = { desktop = {
walker.enable = lib.mkEnableOption "enable walker"; walker.enable = lib.mkEnableOption "enable walker";
}; };
}; };
config = lib.mkIf config.window_manager.walker.enable { config = lib.mkIf config.desktop.walker.enable {
programs = { programs = {
walker = { walker = {
enable = true; enable = true;

View file

@ -8,12 +8,12 @@
{ {
options = { options = {
window_manager = { desktop = {
wallpaper.enable = lib.mkEnableOption "enable wallpapers"; wallpaper.enable = lib.mkEnableOption "enable wallpapers";
}; };
}; };
config = lib.mkIf config.window_manager.wallpaper.enable { config = lib.mkIf config.desktop.wallpaper.enable {
home.packages = with pkgs; [ home.packages = with pkgs; [
waypaper waypaper
swww swww

View file

@ -7,12 +7,12 @@
{ {
options = { options = {
window_manager = { desktop = {
waybar.enable = lib.mkEnableOption "enable waybar"; waybar.enable = lib.mkEnableOption "enable waybar";
}; };
}; };
config = lib.mkIf config.window_manager.waybar.enable { config = lib.mkIf config.desktop.waybar.enable {
programs = { programs = {
waybar = { waybar = {
enable = true; enable = true;

View file

@ -0,0 +1,22 @@
{
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)
];
};
}

13
modules/misc/default.nix Normal file
View file

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

View file

@ -0,0 +1,39 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
syncthing.devices = lib.mkOption {
default = { };
description = ''
set syncthing devices
'';
};
syncthing.folders = lib.mkOption {
default = { };
description = ''
set syncthing folders
'';
};
};
config = {
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

@ -1,21 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
};
config = {
services = {
syncthing = {
enable = true;
tray.enable = true;
guiAddress = "0.0.0.0:8384";
};
};
};
}

View file

@ -8,8 +8,9 @@
{ {
imports = [ imports = [
./kitty.nix ./kitty.nix
./ranger.nix ./file-manager.nix
./fish.nix ./fish.nix
./toys.nix
]; ];
} }

View file

@ -8,7 +8,10 @@
{ {
options = { options = {
terminal = { terminal = {
ranger.enable = lib.mkEnableOption "enable ranger"; ranger = {
enable = lib.mkEnableOption "enable ranger";
};
}; };
}; };
@ -18,5 +21,9 @@
enable = true; enable = true;
}; };
}; };
home.packages = with pkgs; [
unzip
];
}; };
} }

View file

@ -21,6 +21,6 @@
fastfetch fastfetch
cmatrix cmatrix
astroterm astroterm
] ];
}; };
} }

View file

@ -14,5 +14,6 @@
./localization.nix ./localization.nix
./fira-code.nix ./fira-code.nix
./nixos-cli.nix ./nixos-cli.nix
./ssh.nix
]; ];
} }

View file

@ -4,6 +4,7 @@
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = with pkgs; [
coreutils coreutils
util-linux
]; ];
}; };
programs.fish.enable = true; programs.fish.enable = true;

13
system/ssh.nix Normal file
View file

@ -0,0 +1,13 @@
{ config, pkgs, ... }:
{
services = {
openssh = {
enable = true;
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
};
};
};
}

View file

@ -27,7 +27,7 @@
config = { config = {
users.users.${config.main-user.userName} = { users.users.${config.main-user.userName} = {
isNormalUser = true; isNormalUser = true;
description = "marty"; description = "main user";
extraGroups = [ extraGroups = [
"networkmanager" "networkmanager"
"wheel" "wheel"