From 5570be9c9c64e0ba2474d73c2b6b23508b916fd6 Mon Sep 17 00:00:00 2001 From: Rosa Date: Sat, 10 Jan 2026 17:59:55 -0500 Subject: custom function for system creation --- user/default.nix | 15 +++-- user/git.nix | 13 ---- user/home/default.nix | 21 ++++++ user/home/git.nix | 13 ++++ user/home/kakoune/default.nix | 70 ++++++++++++++++++++ user/home/kakoune/kakrc | 2 + user/home/ssh.nix | 12 ++++ user/home/zsh.nix | 16 +++++ user/kakoune/default.nix | 72 -------------------- user/kakoune/kakrc | 4 -- user/kakoune/qml.kak | 28 -------- user/ssh.nix | 12 ---- user/wm/default.nix | 18 ----- user/wm/foot.nix | 46 ------------- user/wm/fuzzel.nix | 32 --------- user/wm/librewolf.nix | 27 -------- user/wm/niri/config.kdl | 149 ------------------------------------------ user/wm/niri/default.nix | 9 --- user/zsh.nix | 16 ----- 19 files changed, 142 insertions(+), 433 deletions(-) delete mode 100644 user/git.nix create mode 100644 user/home/default.nix create mode 100644 user/home/git.nix create mode 100644 user/home/kakoune/default.nix create mode 100644 user/home/kakoune/kakrc create mode 100644 user/home/ssh.nix create mode 100644 user/home/zsh.nix delete mode 100644 user/kakoune/default.nix delete mode 100644 user/kakoune/kakrc delete mode 100644 user/kakoune/qml.kak delete mode 100644 user/ssh.nix delete mode 100644 user/wm/default.nix delete mode 100644 user/wm/foot.nix delete mode 100644 user/wm/fuzzel.nix delete mode 100644 user/wm/librewolf.nix delete mode 100644 user/wm/niri/config.kdl delete mode 100644 user/wm/niri/default.nix delete mode 100644 user/zsh.nix (limited to 'user') diff --git a/user/default.nix b/user/default.nix index 08be102..431a5b1 100644 --- a/user/default.nix +++ b/user/default.nix @@ -1,9 +1,10 @@ -{ config, ... }: +{ config, lib, ... }: { - imports = [ - ./git.nix - ./kakoune - ./ssh.nix - ./zsh.nix - ]; + users.users.rosa = { + description = lib.mkDefault "Rosa"; + extraGroups = [ "wheel" ]; + initialPassword = ""; + isNormalUser = true; + useDefaultShell = true; + }; } diff --git a/user/git.nix b/user/git.nix deleted file mode 100644 index 65b4b7c..0000000 --- a/user/git.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, ... }: -{ - programs.git = { - enable = true; - settings = { - init.defaultBranch = "main"; - user = { - email = "rosaontheweb@proton.me"; - name = "Rosa"; - }; - }; - }; -} diff --git a/user/home/default.nix b/user/home/default.nix new file mode 100644 index 0000000..1751a82 --- /dev/null +++ b/user/home/default.nix @@ -0,0 +1,21 @@ +{ config, ... }: +{ + home-manager = { + useGlobalPkgs = true; + users.rosa = { + imports = [ + ./git.nix + ./kakoune + ../../modules/user + ./ssh.nix + ]; + + desktops.enable = "hyprland"; + home = { + homeDirectory = "/home/rosa"; + stateVersion = "26.05"; + username = "rosa"; + }; + }; + }; +} diff --git a/user/home/git.nix b/user/home/git.nix new file mode 100644 index 0000000..65b4b7c --- /dev/null +++ b/user/home/git.nix @@ -0,0 +1,13 @@ +{ config, ... }: +{ + programs.git = { + enable = true; + settings = { + init.defaultBranch = "main"; + user = { + email = "rosaontheweb@proton.me"; + name = "Rosa"; + }; + }; + }; +} diff --git a/user/home/kakoune/default.nix b/user/home/kakoune/default.nix new file mode 100644 index 0000000..ec7b89b --- /dev/null +++ b/user/home/kakoune/default.nix @@ -0,0 +1,70 @@ +{ config, pkgs, ... }: +{ + programs.kakoune = { + enable = true; + colorSchemePackage = pkgs.kakounePlugins.kakoune-catppuccin; + config = { + #colorScheme = "catppuccin_mocha"; + hooks = [ + { + commands = "set window indentwidth 2"; + group = "indentwidth"; + name = "WinSetOption"; + option = "filetype=(nix)"; + } + { + commands = "lsp-enable-window"; + name = "WinSetOption"; + option = "filetype=(javascript|kotlin|qml|typescript|zig)"; + } + { + commands = '' + set-option buffer lsp_servers %{ + [kotlin-language-server] + root_globs = ["build.gradle.kts"] + } + ''; + name = "BufSetOption"; + option = "filetype=kotlin"; + } + { + commands = '' + set-option buffer lsp_servers %{ + [qmlls] + root_globs = ["shell.qml"] + } + ''; + name = "BufSetOption"; + option = "filetype=qml"; + } + ]; + + keyMappings = [ + { + docstring = "Opens a new editor window"; + effect = ":new"; + key = ""; + mode = "normal"; + } + ]; + + numberLines = { + enable = true; + highlightCursor = true; + }; + + ui = { + assistant = "cat"; + setTitle = true; + }; + }; + + defaultEditor = true; + extraConfig = builtins.readFile ./kakrc; + plugins = with pkgs.kakounePlugins; [ + auto-pairs-kak + kakoune-extra-filetypes + kakoune-lsp + ]; + }; +} diff --git a/user/home/kakoune/kakrc b/user/home/kakoune/kakrc new file mode 100644 index 0000000..b327805 --- /dev/null +++ b/user/home/kakoune/kakrc @@ -0,0 +1,2 @@ +enable-auto-pairs +eval %sh{kak-lsp --kakoune -s $kak_session} diff --git a/user/home/ssh.nix b/user/home/ssh.nix new file mode 100644 index 0000000..d077e31 --- /dev/null +++ b/user/home/ssh.nix @@ -0,0 +1,12 @@ +{ config, ... }: +{ + programs.ssh = { + enable = true; + enableDefaultConfig = false; + matchBlocks = { + "*" = { + identityFile = "~/.ssh/id_ed25519"; + }; + }; + }; +} diff --git a/user/home/zsh.nix b/user/home/zsh.nix new file mode 100644 index 0000000..d264bd9 --- /dev/null +++ b/user/home/zsh.nix @@ -0,0 +1,16 @@ +{ config, ... }: +{ + programs.direnv.enable = true; + programs.zsh = { + enable = true; + autocd = true; + autosuggestion.enable = true; + defaultKeymap = "viins"; + history.ignoreAllDups = true; + initContent = '' + PS1="%F{1}%n %5~ %F{8}%# %f" + ''; + + syntaxHighlighting.enable = true; + }; +} diff --git a/user/kakoune/default.nix b/user/kakoune/default.nix deleted file mode 100644 index 2a76f7a..0000000 --- a/user/kakoune/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ config, pkgs, ... }: -{ - programs.kakoune = { - enable = true; - colorSchemePackage = pkgs.kakounePlugins.kakoune-catppuccin; - config = { - colorScheme = "catppuccin_mocha"; - hooks = [ - { - commands = "set window indentwidth 2"; - group = "indentwidth"; - name = "WinSetOption"; - option = "filetype=(nix)"; - } - { - commands = "lsp-enable-window"; - name = "WinSetOption"; - option = "filetype=(javascript|kotlin|qml|typescript|zig)"; - } - { - commands = '' - set-option buffer lsp_servers %{ - [kotlin-language-server] - root_globs = ["build.gradle.kts"] - } - ''; - name = "BufSetOption"; - option = "filetype=kotlin"; - } - { - commands = '' - set-option buffer lsp_servers %{ - [qmlls] - root_globs = ["shell.qml"] - } - ''; - name = "BufSetOption"; - option = "filetype=qml"; - } - ]; - - keyMappings = [ - { - docstring = "Opens a new editor window"; - effect = ":new"; - key = ""; - mode = "normal"; - } - ]; - - numberLines = { - enable = true; - highlightCursor = true; - }; - - ui = { - assistant = "cat"; - setTitle = true; - }; - }; - - defaultEditor = true; - extraConfig = builtins.readFile ./kakrc; - plugins = with pkgs.kakounePlugins; [ - auto-pairs-kak - kakoune-extra-filetypes - kakoune-lsp - ]; - }; - - xdg.configFile."kak/qml.kak".source = ./qml.kak; -} diff --git a/user/kakoune/kakrc b/user/kakoune/kakrc deleted file mode 100644 index fa3152a..0000000 --- a/user/kakoune/kakrc +++ /dev/null @@ -1,4 +0,0 @@ -enable-auto-pairs -eval %sh{kak-lsp --kakoune -s $kak_session} -# hacky workaround for kakoune seemingly only loading from one autoload dir -source /home/rosa/.config/kak/qml.kak diff --git a/user/kakoune/qml.kak b/user/kakoune/qml.kak deleted file mode 100644 index 697467f..0000000 --- a/user/kakoune/qml.kak +++ /dev/null @@ -1,28 +0,0 @@ -hook global BufCreate .+\.qml %{ - set-option buffer filetype qml -} - -hook global WinSetOption filetype=qml %{ - require-module qml - add-highlighter window/qml ref qml - hook -once global WinSetOption filetype=.+\.(?!qml) %{ - remove-highlighter window/qml - } -} - -provide-module qml %{ - add-highlighter shared/qml regions - add-highlighter shared/qml/comment-line region '//' '\n' fill comment - add-highlighter shared/qml/comment-block region '/\*' '\*/' fill comment - add-highlighter shared/qml/string region '"' '"' fill string - add-highlighter shared/qml/other default-region group - add-highlighter shared/qml/other/keywords regex \ - \b(import|as|property|final|readonly|required|default)\b 0:keyword - add-highlighter shared/qml/other/numbers regex -?[0-9]+(\.[0-9]+)? 0:value - add-highlighter shared/qml/other/booleans regex true|false 0:value - # this one was kind of annoying :( - add-highlighter shared/qml/other/type regex '([a-zA-Z]+ *)(\{.*\})' 1:type - add-highlighter shared/qml/other/builtin-types regex \ - \b(bool|date|double|int|list|real|string|url|var(iant)?|void)\b 0:type - add-highlighter shared/qml/other/function regex ([a-zA-Z]+[a-zA-Z0-9]*)\(.*\) 1:function -} diff --git a/user/ssh.nix b/user/ssh.nix deleted file mode 100644 index d077e31..0000000 --- a/user/ssh.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, ... }: -{ - programs.ssh = { - enable = true; - enableDefaultConfig = false; - matchBlocks = { - "*" = { - identityFile = "~/.ssh/id_ed25519"; - }; - }; - }; -} diff --git a/user/wm/default.nix b/user/wm/default.nix deleted file mode 100644 index dc9c394..0000000 --- a/user/wm/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, pkgs, ... }: -{ - imports = [ - ./foot.nix - ./fuzzel.nix - ./librewolf.nix - ./niri - ]; - - fonts.fontconfig.enable = true; - home.packages = with pkgs; [ - brightnessctl - fira-code - keepassxc - krita - xwayland-satellite - ]; -} diff --git a/user/wm/foot.nix b/user/wm/foot.nix deleted file mode 100644 index cfccffd..0000000 --- a/user/wm/foot.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ config, ... }: -{ - programs.foot = { - enable = true; - settings = { - bell.urgent = "yes"; - colors = { - alpha = 0.75; - background = "1e1e2e"; - bright0 = "585b70"; - bright1 = "f38ba8"; - bright2 = "a6e3a1"; - bright3 = "f9e2af"; - bright4 = "89b4fa"; - bright5 = "f5c2e7"; - bright6 = "94e2d5"; - bright7 = "a6adc8"; - "16" = "fab387"; - "17" = "f5e0dc"; - cursor = "11111b f5e0dc"; - foreground = "cdd6f4"; - jump-labels = "11111b fab387"; - regular0 = "45475a"; - regular1 = "f38ba8"; - regular2 = "a6e3a1"; - regular3 = "f9e2af"; - regular4 = "89b4fa"; - regular5 = "f5c2e7"; - regular6 = "94e2d5"; - regular7 = "bac2de"; - search-box-match = "cdd6f4 313244"; - search-box-no-match = "11111b f38ba8"; - selection-background = "414356"; - selection-foreground = "cdd6f4"; - urls = "89b4fa"; - }; - - main = { - dpi-aware = "yes"; - font = "Fira Code:size=11"; - }; - - mouse.hide-when-typing = "yes"; - }; - }; -} diff --git a/user/wm/fuzzel.nix b/user/wm/fuzzel.nix deleted file mode 100644 index 1063f04..0000000 --- a/user/wm/fuzzel.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ config, ... }: -{ - programs.fuzzel = { - enable = true; - settings = { - border = { - radius = 0; - width = 2; - }; - - colors = { - background = "1e1e2eff"; - border = "f5c2e7ff"; - counter = "7f849cff"; - input = "cdd6f4ff"; - match = "f5c2e7ff"; - placeholder = "7f849cff"; - prompt = "bac2deff"; - selection = "585b70ff"; - selection-match = "f5c2e7ff"; - selection-text = "cdd6f4ff"; - text = "cdd6f4ff"; - }; - - main = { - font = "Fira Code:size=11"; - terminal = "foot {cmd}"; - use-bold = "yes"; - }; - }; - }; -} diff --git a/user/wm/librewolf.nix b/user/wm/librewolf.nix deleted file mode 100644 index d596716..0000000 --- a/user/wm/librewolf.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ config, lib, ... }: -{ - programs.librewolf = { - enable = true; - profiles = { - default = { - settings = { - "browser.sessionstore.resume_from_crash" = false; - "browser.uidensity" = 1; - "sidebar.verticalTabs" = true; - "sidebar.visibility" = "hide-sidebar"; - }; - }; - - noRFP = { - id = 1; - name = "RFP Disabled"; - settings = lib.mkMerge [ - config.programs.librewolf.profiles.default.settings - { - "privacy.resistFingerprinting" = false; - } - ]; - }; - }; - }; -} diff --git a/user/wm/niri/config.kdl b/user/wm/niri/config.kdl deleted file mode 100644 index f65d813..0000000 --- a/user/wm/niri/config.kdl +++ /dev/null @@ -1,149 +0,0 @@ -binds { - Mod+Alt+Equal { set-window-height "+10%"; } - Mod+Alt+L { spawn "swaylock"; } - Mod+Alt+Minus { set-window-height "-10%"; } - Mod+Alt+Q { quit; } - Mod+C { center-column; } - Mod+Equal { set-column-width "+10%"; } - Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } - Mod+F { toggle-window-floating; } - Mod+Minus { set-column-width "-10%"; } - Mod+Q repeat=false { close-window; } - Mod+Return { spawn "foot"; } - Mod+R { spawn "fuzzel"; } - Mod+Shift+R { switch-preset-column-width; } - Print { screenshot-screen; } - XF86AudioLowerVolume { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; } - XF86AudioRaiseVolume { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; } - XF86MonBrightnessDown { spawn "brightnessctl" "--class=backlight" "set" "5%-"; } - XF86MonBrightnessUp { spawn "brightnessctl" "--class=backlight" "set" "+5%"; } - - Mod+1 { focus-workspace 1; } - Mod+2 { focus-workspace 2; } - Mod+3 { focus-workspace 3; } - Mod+4 { focus-workspace 4; } - Mod+5 { focus-workspace 5; } - Mod+6 { focus-workspace 6; } - Mod+7 { focus-workspace 7; } - Mod+8 { focus-workspace 8; } - Mod+9 { focus-workspace 9; } - Mod+BracketLeft { consume-or-expel-window-left; } - Mod+BracketRight { consume-or-expel-window-right; } - Mod+Ctrl+H { focus-monitor-left; } - Mod+Ctrl+J { focus-workspace-down; } - Mod+Ctrl+K { focus-workspace-up; } - Mod+Ctrl+L { focus-monitor-right; } - Mod+Ctrl+Shift+H { move-column-to-monitor-left; } - Mod+Ctrl+Shift+J { move-column-to-workspace-down; } - Mod+Ctrl+Shift+K { move-column-to-workspace-up; } - Mod+Ctrl+Shift+L { move-column-to-monitor-right; } - Mod+H { focus-column-left; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } - Mod+Shift+1 { move-column-to-workspace 1; } - Mod+Shift+2 { move-column-to-workspace 2; } - Mod+Shift+3 { move-column-to-workspace 3; } - Mod+Shift+4 { move-column-to-workspace 4; } - Mod+Shift+5 { move-column-to-workspace 5; } - Mod+Shift+6 { move-column-to-workspace 6; } - Mod+Shift+7 { move-column-to-workspace 7; } - Mod+Shift+8 { move-column-to-workspace 8; } - Mod+Shift+9 { move-column-to-workspace 9; } - Mod+Shift+H { move-column-left; } - Mod+Shift+J { move-window-down; } - Mod+Shift+K { move-window-up; } - Mod+Shift+L { move-column-right; } - Mod+TouchpadScrollDown cooldown-ms=100 { focus-workspace-down; } - Mod+TouchpadScrollLeft { focus-column-left; } - Mod+TouchpadScrollRight { focus-column-right; } - Mod+TouchpadScrollUp cooldown-ms=100 { focus-workspace-up; } -} - -clipboard { - disable-primary -} - -cursor { - // TODO -} - -environment { - QT_QPA_PLATFORM "wayland" -} - -hotkey-overlay { - skip-at-startup -} - -input { - disable-power-key-handling - mouse { - accel-profile "flat" - } - - touchpad { - accel-profile "flat" - drag true - dwt - natural-scroll - tap - } - - warp-mouse-to-focus mode="center-xy" -} - -layout { - always-center-single-column - border { - off - } - - default-column-display "tabbed" - default-column-width { proportion 0.5; } // window takes up whole display by default - focus-ring { - active-gradient angle=45 from="#f5c2e7" to="#f9e2af" relative-to="workspace-view" - inactive-color "#bac2de" - urgent-color "#f38ba8" - width 2 - } - - gaps 8 - preset-column-widths { - proportion 0.5; - proportion 0.66667; - proportion 1.0; - } - - shadow { - on - } - - tab-indicator { - gap 4 - gaps-between-tabs 4 - hide-when-single-tab - place-within-column - position "left" - width 2 - } -} - -output "eDP-1" { - focus-at-startup - mode "2256x1504@60.000" - position x=0 y=0 - scale 1.5 -} - -overview { - backdrop-color "#1e1e2e" -} - -prefer-no-csd -recent-windows { - off -} - -screenshot-path "~/Pictures/screenshots/%Y-%m-%d_%H.%M.%S.png" -spawn-sh-at-startup "swaybg -i ~/Pictures/wallpaper.png" diff --git a/user/wm/niri/default.nix b/user/wm/niri/default.nix deleted file mode 100644 index 22a487e..0000000 --- a/user/wm/niri/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ config, pkgs, ... }: -{ - #home.file."Pictures/wallpaper.png".source = ../wallpaper.jpeg; - home.packages = with pkgs; [ - swaybg - ]; - - xdg.configFile."niri/config.kdl".text = builtins.readFile ./config.kdl; -} diff --git a/user/zsh.nix b/user/zsh.nix deleted file mode 100644 index d264bd9..0000000 --- a/user/zsh.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, ... }: -{ - programs.direnv.enable = true; - programs.zsh = { - enable = true; - autocd = true; - autosuggestion.enable = true; - defaultKeymap = "viins"; - history.ignoreAllDups = true; - initContent = '' - PS1="%F{1}%n %5~ %F{8}%# %f" - ''; - - syntaxHighlighting.enable = true; - }; -} -- cgit v1.3.1