diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e2f5dd2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +result \ No newline at end of file diff --git a/configuration.nix b/configuration.nix deleted file mode 100755 index 3ce2041..0000000 --- a/configuration.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -{ - services.logind.settings.Login.LidSwitch = "suspend-then-hibernate"; - systemd.sleep.settings.Sleep = { - HibernateDelaySec = "1h"; - SuspendState = "mem"; - }; - boot.resumeDevice = "/dev/disk/by-label/swap"; - boot.loader.efi.canTouchEfiVariables = true; - boot.loader.limine = { - enable = true; - extraEntries = lib.mkIf (config.networking.hostName == "nerv") '' - /Windows 11 - protocol: efi_boot_entry - entry: Windows Boot Manager - ''; - }; - boot.kernelPackages = pkgs.linuxPackages_latest; - networking.networkmanager.enable = true; - time.timeZone = "Europe/Berlin"; - i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "de_DE.UTF-8"; - LC_IDENTIFICATION = "de_DE.UTF-8"; - LC_MEASUREMENT = "de_DE.UTF-8"; - LC_MONETARY = "de_DE.UTF-8"; - LC_NAME = "de_DE.UTF-8"; - LC_NUMERIC = "de_DE.UTF-8"; - LC_PAPER = "de_DE.UTF-8"; - LC_TELEPHONE = "de_DE.UTF-8"; - LC_TIME = "de_DE.UTF-8"; - }; - security = { - rtkit.enable = true; - polkit.enable = true; # polkit - polkit.enablePkexecWrapper = true; - }; - users.users."lucy" = { - isNormalUser = true; - description = "lucy"; - shell = pkgs.zsh; - extraGroups = [ - "networkmanager" - "wheel" - ]; - packages = with pkgs; [ - stow - ufetch - rbw - emacs-pgtk - tinty - pinentry-gnome3 - git - nixd - nixfmt - xournalpp - rnote - btop - chromium - fuzzel - quickshell - wl-clipboard - adw-gtk3 - papirus-icon-theme - apple-cursor - polkit_gnome - xwayland-satellite - nemo - libwacom - devenv - kdePackages.qt6ct - gcc - clang-tools - clang - gdb - gnumake - libreoffice-stable - ripgrep - jq - nmgui - kdePackages.qtdeclarative - ghostty - rnote - gsettings-desktop-schemas - glib - ]; - }; - environment.sessionVariables = { - XCURSOR_THEME = "macOS"; - XCURSOR_SIZE = "24"; - QT_QPA_PLATFORMTHEME = "qt6ct"; - - }; - fonts.packages = with pkgs; [ - jetbrains-mono - nerd-fonts.jetbrains-mono - noto-fonts - noto-fonts-cjk-sans - noto-fonts-color-emoji - inter - ]; - nixpkgs.config.allowUnfree = true; - nixpkgs.overlays = [ - (final: prev: { - inherit (prev.lixPackageSets.stable) - nixpkgs-review - nix-eval-jobs - nix-fast-build - colmena - ; - }) - ]; - - nix.package = pkgs.lixPackageSets.stable.lix; - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; - system.stateVersion = "26.05"; # Did you read the comment? - -} diff --git a/dotfiles/emacs/init.el b/dotfiles/emacs/init.el deleted file mode 100755 index 6ec2c4b..0000000 --- a/dotfiles/emacs/init.el +++ /dev/null @@ -1,104 +0,0 @@ -;; -*- lexical-binding: t; -*- -(setq make-backup-files nil) - -(add-to-list 'default-frame-alist '(font . "JetBrainsMono Nerd Font Mono-14")) - -(require 'package) -(add-to-list 'package-archives - '("melpa-snapshots" - . - "https://snapshots.melpa.org/packages/") - t) -;; load current selected tinty theme -(use-package base16-theme :ensure t) -(load-theme - (intern - (string-trim - (shell-command-to-string - "tinty current -d /home/lucy/.local/share/tinted-theming/tinty/"))) - t) - - -;; add packages -(use-package org-view-mode :ensure t) -(use-package envrc :ensure t) - -(use-package nix-mode :ensure t) -(use-package - eldoc-box - :ensure t - :hook (eglot-managed-mode . eldoc-box-hover-mode) - ) -(use-package - elisp-autofmt - :ensure t - :commands (elisp-autofmt-buffer elisp-autofmt-mode) - :hook (emacs-lisp-mode . elisp-autofmt-mode) - :config) -(use-package portage-modes :ensure t) -(use-package - corfu - :ensure t - :init - (setq - corfu-auto t - corfu-auto-prefix 1 - corfu-auto-delay 0.2) - (global-corfu-mode)) - -(setq tab-always-indent 'complete) -(use-package - cape - :ensure t - :bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-, M-p, M-+ - :init (add-hook 'completion-at-point-functions #'cape-file)) -(setq corfu-auto-prefix 2) -(use-package qml-mode :ensure t) -(use-package lua-mode :ensure t) -(use-package elcord :ensure t :init (elcord-mode)) - -(add-to-list - 'display-buffer-alist - '("\\*compilation\\*" (display-buffer-reuse-window - display-buffer-below-selected) - (window-height . 0.3))) - - -;; remove useless shit and set default opts -(setq org-hide-emphasis-markers t) -(setq ring-bell-function 'ignore) -(menu-bar-mode -1) -(tool-bar-mode -1) -(setq display-line-numbers-type 'relative) -(global-display-line-numbers-mode +1) -(global-tab-line-mode 1) -(scroll-bar-mode -1) -(setq inhibit-splash-screen 1) -(setq custom-file "~/.emacs.d/custom.el") -(load custom-file 'noerror) - - -;; lsp shit -(add-hook 'nix-mode-hook #'eglot-ensure) -(add-hook 'c-mode-hook #'eglot-ensure) -(add-hook 'qml-mode-hook #'eglot-ensure) -(with-eval-after-load 'eglot - (add-to-list 'eglot-server-programs '(nix-mode . ("nixd"))) - (add-to-list 'eglot-server-programs '(qml-mode . ("qmlls")))) - -;; keybindings -(keymap-global-set "C-c f" 'eglot-format) -(keymap-global-set "C-c t" 'term) -(keymap-global-set "C-c c" 'compile) -(keymap-global-set "C-c k b" 'kill-current-buffer) -(keymap-global-set "C-c k w" 'kill-buffer-and-window) -(keymap-global-set "C-c v" 'org-view-mode) -(windmove-default-keybindings) -;; replace dashes with bullets in org mode -(font-lock-add-keywords 'org-mode - '(("^ +\\([-*]\\) " - (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•")))))) - -(setq org-view-prettify-credentials nil) -(setq org-view-hide-keywords nil) -(envrc-global-mode) diff --git a/dotfiles/foot/foot.ini b/dotfiles/foot/foot.ini deleted file mode 100755 index 91bd09e..0000000 --- a/dotfiles/foot/foot.ini +++ /dev/null @@ -1,5 +0,0 @@ -include = ~/.local/share/tinted-theming/tinty/tinted-terminal-themes-foot-file.ini -pad = 15x15 -font = JetBrainsMono Nerd Font:size=12 -[colors-dark] -alpha = 1.0 diff --git a/dotfiles/fuzzel/fuzzel.ini b/dotfiles/fuzzel/fuzzel.ini deleted file mode 100755 index 079294b..0000000 --- a/dotfiles/fuzzel/fuzzel.ini +++ /dev/null @@ -1,7 +0,0 @@ -[main] -include = ~/.local/share/tinted-theming/tinty/tinted-fuzzel-build-file -font = Roboto:size=14 -dpi-aware = no - -[border] -width = 2 diff --git a/dotfiles/ghostty/config.ghostty b/dotfiles/ghostty/config.ghostty deleted file mode 100755 index c08741e..0000000 --- a/dotfiles/ghostty/config.ghostty +++ /dev/null @@ -1,8 +0,0 @@ -quit-after-last-window-closed = false -theme = "tinted-theming" -font-family = "JetBrainsMono Nerd Font" -font-size = 14 -window-padding-x = 15 -window-padding-y = 15 -shell-integration = none -confirm-close-surface = false diff --git a/dotfiles/ghostty/themes/tinted-theming b/dotfiles/ghostty/themes/tinted-theming deleted file mode 100755 index d259be9..0000000 --- a/dotfiles/ghostty/themes/tinted-theming +++ /dev/null @@ -1,47 +0,0 @@ -# vim: ft=ghostty -# Gruvbox dark, hard theme for Ghostty -# Scheme Author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) -# Scheme System: base16 -# Template Author: Tinted Terminal (https://github.com/tinted-theming/tinted-terminal) - -# Color palette -palette = 0=#1d2021 -palette = 1=#fb4934 -palette = 2=#b8bb26 -palette = 3=#fabd2f -palette = 4=#83a598 -palette = 5=#d3869b -palette = 6=#8ec07c -palette = 7=#d5c4a1 -palette = 8=#665c54 -palette = 9=#fb4934 -palette = 10=#b8bb26 -palette = 11=#fabd2f -palette = 12=#83a598 -palette = 13=#d3869b -palette = 14=#8ec07c -palette = 15=#fbf1c7 -palette = 16=#fe8019 -palette = 17=#d65d0e -palette = 18=#3c3836 -palette = 19=#504945 -palette = 20=#bdae93 -palette = 21=#ebdbb2 - -# Foreground & background colors -background = #1d2021 -foreground = #d5c4a1 -cursor-color = #d5c4a1 -selection-background = #d5c4a1 -selection-foreground = #504945 -search-background = #fabd2f -search-foreground = #3c3836 -search-selected-background = #fe8019 -search-selected-foreground = #3c3836 - -# Set `macos-icon = custom-style` in your main configuration file to enable theming of the app icon. -# -# Set the ghost color to the lightest foreground: -macos-icon-ghost-color = #fbf1c7 -# Replace the official icon's blue background with the designated bright blue color: -macos-icon-screen-color = #83a598 diff --git a/dotfiles/gtk/settings.ini b/dotfiles/gtk/settings.ini deleted file mode 100755 index e076052..0000000 --- a/dotfiles/gtk/settings.ini +++ /dev/null @@ -1,7 +0,0 @@ -[Settings] -gtk-theme-name=adw-gtk3-dark -gtk-icon-theme-name=Papirus-Dark -gtk-font-name=Adwaita Sans 11 -gtk-cursor-theme-name=Adwaita -gtk-cursor-theme-size=24 -gtk-application-prefer-dark-theme=1 diff --git a/dotfiles/niri/#config.kdl# b/dotfiles/niri/#config.kdl# deleted file mode 100755 index 42b6272..0000000 --- a/dotfiles/niri/#config.kdl# +++ /dev/null @@ -1,156 +0,0 @@ -prefer-no-csd -hotkey-overlay { - skip-at-startup -} - -environment { - GTK_THEME "adw-gtk3-dark" - XDG_CURRENT_DESKTOP "niri" - XDG_SESSION_TYPE "wayland" - XDG_SESSION_DESKTOP "niri" - QT_QPA_PLATFORM "wayland;xcb" - OZONE_PLATFORM "wayland" - ELECTRON_OZONE_PLATFORM_HINT "auto" -} -cursor { - xcursor-size 24 - xcursor-theme "macOS" -} -input { - keyboard { - xkb { - layout "eu" - } - } - - touchpad { - tap - natural-scroll - - } - - mouse { - accel-speed -0.4 - accel-profile "flat" - } - focus-follows-mouse max-scroll-amount="20%" - -} - -output "PNP(BNQ) BenQ EX2710Q K6R04023019" { - mode "2560x1440@165.002" - scale 1 - transform "normal" - position x=1920 y=0 -} -output "Dell Inc. DELL P2317H 9KFDW6C533DB" { - position x=0 y=0 -} - -output "eDP-1" { - scale 1 -} - - -layout { - gaps 16 - center-focused-column "never" - default-column-width { proportion 0.6; } - focus-ring { - off - } - border { - width 2 - active-color "#ffc87f" - inactive-color "#505050" - } -} -spawn-at-startup "qs" -screenshot-path null -animations {} -window-rule { - geometry-corner-radius 16 - clip-to-geometry true -} - -binds { - Mod+return { spawn "foot"; } - Mod+space { spawn "fuzzel"; } - Mod+e { spawn "nautilus"; } - Alt+MouseRight { } - - XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; } - XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; } - XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } - XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; } - - XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; } - XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; } - XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; } - XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; } - - XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } - XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } - - Mod+O repeat=false { toggle-overview; } - Mod+Q repeat=false { close-window; } - - Mod+Left { focus-column-left; } - Mod+Down { focus-window-down; } - Mod+Up { focus-window-up; } - Mod+Right { focus-column-right; } - Mod+H { focus-column-left; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } - Mod+Ctrl+Left { move-column-left; } - Mod+Ctrl+Down { move-window-down; } - Mod+Ctrl+Up { move-window-up; } - Mod+Ctrl+Right { move-column-right; } - Mod+Ctrl+H { move-column-left; } - Mod+Ctrl+J { move-window-down; } - Mod+Ctrl+K { move-window-up; } - mod+ctrl+l { move-column-right; } - - Mod+comma { focus-monitor-left; } - Mod+period { focus-monitor-right; } - - Mod+Shift+comma { move-column-to-monitor-left; } - Mod+Shift+period { move-column-to-monitor-right; } - - - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - 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+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+BracketLeft { consume-or-expel-window-left; } - Mod+BracketRight { consume-or-expel-window-right; } - Mod+F { maximize-column; } - - Mod+Minus { set-column-width "-10%"; } - Mod+Equal { set-column-width "+10%"; } - - Mod+V { toggle-window-floating; } - Mod+Shift+S { screenshot; } - Alt+Shift+S { screenshot-screen; } - Alt+Ctrl+S { screenshot-window; } - Mod+Shift+q { quit; } -} -include "~/.local/share/tinted-theming/tinty/tinted-niri-themes-file.kdl" diff --git a/dotfiles/niri/config.kdl b/dotfiles/niri/config.kdl deleted file mode 100755 index fd7c826..0000000 --- a/dotfiles/niri/config.kdl +++ /dev/null @@ -1,155 +0,0 @@ -prefer-no-csd -hotkey-overlay { - skip-at-startup -} - -environment { - GTK_THEME "adw-gtk3-dark" - XDG_CURRENT_DESKTOP "niri" - XDG_SESSION_TYPE "wayland" - XDG_SESSION_DESKTOP "niri" - QT_QPA_PLATFORM "wayland;xcb" - OZONE_PLATFORM "wayland" - ELECTRON_OZONE_PLATFORM_HINT "auto" -} -cursor { - xcursor-size 24 - xcursor-theme "macOS" -} -input { - keyboard { - xkb { - layout "eu" - } - } - - touchpad { - tap - natural-scroll - - } - - mouse { - accel-speed -0.4 - accel-profile "flat" - } - focus-follows-mouse max-scroll-amount="20%" - -} - -output "PNP(BNQ) BenQ EX2710Q K6R04023019" { - mode "2560x1440@165.002" - scale 1 - transform "normal" - position x=1920 y=0 -} -output "Dell Inc. DELL P2317H 9KFDW6C533DB" { - position x=0 y=0 -} - -output "eDP-1" { - scale 1 -} - - -layout { - gaps 16 - center-focused-column "never" - default-column-width { proportion 0.6; } - focus-ring { - off - } - border { - width 2 - active-color "#ffc87f" - inactive-color "#505050" - } -} -spawn-at-startup "qs" -screenshot-path null -animations {} -window-rule { - geometry-corner-radius 16 - clip-to-geometry true -} - -binds { - Mod+return { spawn-sh "ghostty +new-window"; } - Mod+space { spawn "fuzzel"; } - Mod+e { spawn "nautilus"; } - - XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; } - XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; } - XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } - XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; } - - XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; } - XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; } - XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; } - XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; } - - XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } - XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } - - Mod+O repeat=false { toggle-overview; } - Mod+Q repeat=false { close-window; } - - Mod+Left { focus-column-left; } - Mod+Down { focus-window-down; } - Mod+Up { focus-window-up; } - Mod+Right { focus-column-right; } - Mod+H { focus-column-left; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } - Mod+Ctrl+Left { move-column-left; } - Mod+Ctrl+Down { move-window-down; } - Mod+Ctrl+Up { move-window-up; } - Mod+Ctrl+Right { move-column-right; } - Mod+Ctrl+H { move-column-left; } - Mod+Ctrl+J { move-window-down; } - Mod+Ctrl+K { move-window-up; } - mod+ctrl+l { move-column-right; } - - Mod+comma { focus-monitor-left; } - Mod+period { focus-monitor-right; } - - Mod+Shift+comma { move-column-to-monitor-left; } - Mod+Shift+period { move-column-to-monitor-right; } - - - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - 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+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+BracketLeft { consume-or-expel-window-left; } - Mod+BracketRight { consume-or-expel-window-right; } - Mod+F { maximize-column; } - - Mod+Minus { set-column-width "-10%"; } - Mod+Equal { set-column-width "+10%"; } - - Mod+V { toggle-window-floating; } - Mod+Shift+S { screenshot; } - Alt+Shift+S { screenshot-screen; } - Alt+Ctrl+S { screenshot-window; } - Mod+Shift+q { quit; } -} -include "~/.local/share/tinted-theming/tinty/tinted-niri-themes-file.kdl" diff --git a/dotfiles/qt6ct/colors/tinted.conf b/dotfiles/qt6ct/colors/tinted.conf deleted file mode 100755 index ba6d250..0000000 --- a/dotfiles/qt6ct/colors/tinted.conf +++ /dev/null @@ -1,9 +0,0 @@ -[ColorScheme] -# Active: text, bg, window text, button, mid, dark, text, bright text, text, base, window, shadow, highlight, highlighted text, link, visited link, etc. -active_colors=#cdd6f4, #1e1e2e, #cdd6f4, #181825, #181825, #181825, #cdd6f4, #b4befe, #cdd6f4, #1e1e2e, #1e1e2e, #181825, #89b4fa, #1e1e2e, #89b4fa, #cba6f7, #181825, #1e1e2e, #181825, #cdd6f4, #181825 - -# Inactive -inactive_colors=#45475a, #181825, #cdd6f4, #181825, #181825, #181825, #45475a, #b4befe, #45475a, #1e1e2e, #1e1e2e, #181825, #45475a, #1e1e2e, #89b4fa, #cba6f7, #181825, #1e1e2e, #181825, #45475a, #181825 - -# Disabled -disabled_colors=#45475a, #181825, #cdd6f4, #181825, #181825, #181825, #45475a, #b4befe, #45475a, #1e1e2e, #1e1e2e, #181825, #45475a, #1e1e2e, #89b4fa, #cba6f7, #181825, #1e1e2e, #181825, #45475a, #181825 diff --git a/dotfiles/qt6ct/qt6ct.conf b/dotfiles/qt6ct/qt6ct.conf deleted file mode 100755 index d44dff1..0000000 --- a/dotfiles/qt6ct/qt6ct.conf +++ /dev/null @@ -1,32 +0,0 @@ -[Appearance] -color_scheme_path=/home/lucy/.config/qt6ct/colors/tinted.conf -custom_palette=true -icon_theme=Papirus-Dark -standard_dialogs=default -style=Fusion - -[Fonts] -fixed="Liberation Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0" -general="Liberation Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0" - -[Interface] -activate_item_on_single_click=1 -buttonbox_layout=0 -cursor_flash_time=1000 -dialog_buttons_have_icons=1 -double_click_interval=400 -gui_effects=@Invalid() -keyboard_scheme=2 -menus_have_icons=true -show_shortcuts_in_context_menus=true -stylesheets=@Invalid() -toolbutton_style=4 -underline_shortcut=1 -wheel_scroll_lines=3 - -[SettingsWindow] -geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4_\0\0\x4W\0\0\0\0\0\0\0\0\0\0\x4_\0\0\x4W\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x4_\0\0\x4W) - -[Troubleshooting] -force_raster_widgets=1 -ignored_applications=@Invalid() diff --git a/dotfiles/tinted-theming/tinty/config.toml b/dotfiles/tinted-theming/tinty/config.toml deleted file mode 100755 index ce65dce..0000000 --- a/dotfiles/tinted-theming/tinty/config.toml +++ /dev/null @@ -1,52 +0,0 @@ -[[items]] -path = "https://git.lucy.rip/lucy/tinted-qtct" -name = "tinted-qt" -themes-dir = "build" -hook = "cp %f ~/.config/qt6ct/colors/tinted.conf" - -[[items]] -path = "https://git.lucy.rip/lucy/tinted-gtk" -name = "tinted-gtk" -themes-dir = "build" -hook = """ -cp %f ~/.config/gtk-3.0/gtk.css; cp %f ~/.config/gtk-4.0/gtk.css -systemctl --user restart polkit-gnome.service -""" - -[[items]] -path = "https://github.com/tinted-theming/tinted-terminal" -name = "tinted-terminal" -themes-dir = "themes/ghostty" # Directory name of terminal theme you want to use -supported-systems = ["base16", "base24"] -hook = """ -mkdir -p ~/.config/ghostty/themes -command cp %f ~/.config/ghostty/themes/tinted-theming -systemctl --user reload app-com.mitchellh.ghostty.service -""" - -[[items]] -path = "https://git.lucy.rip/lucy/tinted-mangowc/" -name = "tinted-mangowc" -themes-dir = "build" -hook = "mmsg dispatch reload_config" - -[[items]] -path = "https://git.lucy.rip/lucy/tinted-fuzzel.git" -name = "tinted-fuzzel" -themes-dir = "build" - -[[items]] -path = "https://git.lucy.rip/lucy/tinted-discord.git" -name = "tinted-discord" -themes-dir = "build" -hook = "cp %f ~/.config/vesktop/settings/quickCss.css" - -[[items]] -path = "https://git.lucy.rip/lucy/tinted-chromium.git" -name = "tinted-chromium" -themes-dir = "build" - -[[items]] -path = "https://git.lucy.rip/lucy/tinted-niri.git" -name = "tinted-niri" -themes-dir = "themes" \ No newline at end of file diff --git a/flake.lock b/flake.lock old mode 100755 new mode 100644 index 352fbb7..ac15c17 --- a/flake.lock +++ b/flake.lock @@ -20,7 +20,185 @@ "type": "github" } }, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1765809053, + "narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1776754714, + "narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1783570805, + "narHash": "sha256-ptl5aRlCv9/uRSv2u8Hq8UFVFeZ6Q/bT049bpqNgc3w=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "5602ed62d638142c1ab31dccd01dfbfb28841225", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1790898470, + "narHash": "sha256-zTwuwezD0w3hpga6a6P8emidzAZFyWqlNeRBlpWOOl8=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "024633cd702b10285db5cb19b40ad48d2399ba60", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "host": "gitlab.gnome.org", + "lastModified": 1776175984, + "narHash": "sha256-RJFlFW8GiMei6oqUGrMkGEvVqOH8U7Q8abc1yK4VKD8=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "e0fdc4c13250e9a9b8ea9594c83925274f4a5dca", + "type": "gitlab" + }, + "original": { + "host": "gitlab.gnome.org", + "owner": "GNOME", + "ref": "50.1", + "repo": "gnome-shell", + "type": "gitlab" + } + }, "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1792098797, + "narHash": "sha256-u4DIIZgznEGzByxXrxWCXK19VcMtTBmi/M9gZ7Jk9bM=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "640725978b99076e18e069f6e7d2959124584f8f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { "inputs": { "nixpkgs": [ "nixcord", @@ -42,6 +220,21 @@ "type": "github" } }, + "import-tree": { + "locked": { + "lastModified": 1788467110, + "narHash": "sha256-ljEMTXP/rH0tOvDzc9gzwww6KcHRPRnEHzd9lK48V7s=", + "owner": "vic", + "repo": "import-tree", + "rev": "eb1b52eaecc57f7c136d07ae8a93e724dfecac46", + "type": "github" + }, + "original": { + "owner": "vic", + "repo": "import-tree", + "type": "github" + } + }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -84,24 +277,9 @@ "type": "github" } }, - "nix-maid": { - "locked": { - "lastModified": 1790770868, - "narHash": "sha256-9OEVMURNKXNBqXxlCXmJ0jv0QHR8CR7A0n7pJKRbOik=", - "ref": "refs/heads/master", - "rev": "13d29cdde641216c0bb7ee8ec3229f865c7dc51a", - "revCount": 134, - "type": "git", - "url": "https://codeberg.org/viperML/nix-maid" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/viperML/nix-maid" - } - }, "nixcord": { "inputs": { - "home-manager": "home-manager", + "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", "nixpkgs": [ "nixpkgs" @@ -111,11 +289,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1791789228, - "narHash": "sha256-H4oPz8lX2fHV4FOhxp9txUT/GVC/QB5mypkAkUhW31o=", + "lastModified": 1792277718, + "narHash": "sha256-Nv32eZ+x7qr/yKofkemv1O2ImnXkUpFQgq71u6c6Wi8=", "owner": "4evy", "repo": "nixcord", - "rev": "58298812834393c79a6c1b78d5b68e3a301a0ec1", + "rev": "f4f803048d4bb6bc296fc4bdbd8620ff63fe100f", "type": "github" }, "original": { @@ -126,15 +304,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1791594108, - "narHash": "sha256-XK4KceonkwD8LuMAt/vNrz982mXJM5jeHAxMwsUXXAQ=", - "owner": "NixOS", + "lastModified": 1792094642, + "narHash": "sha256-zp8ToDMnqZcu4o4IH9pdwXFXGp7yLm/M0dEnNWnyd7I=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "6510408d147d8c5e6d76043e899e9251756f6a75", + "rev": "fe13242281a67641c0102cdb1087f0ebe586c7df", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -153,6 +331,21 @@ "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1790477367, + "narHash": "sha256-oujbxmVKDhci2E4EM3KyAbRUgp5/IsCoiA/LfEF7OOk=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "f7cd230690d9fc982d06129f9189b101fddcfa3b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-packages": { "locked": { "lastModified": 1791130267, @@ -166,13 +359,154 @@ "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst" } }, + "nur": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1785549842, + "narHash": "sha256-DCwBZmGsySF7oKGTRgEv2HvpxVXkHT+38VhTM76k0B4=", + "owner": "nix-community", + "repo": "NUR", + "rev": "a9f987b57594e845e3e5cdd423b9a70846d70308", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", + "flake-parts": "flake-parts", + "home-manager": "home-manager", + "import-tree": "import-tree", "nix-easyroam": "nix-easyroam", - "nix-maid": "nix-maid", "nixcord": "nixcord", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "stylix": "stylix" + } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-parts": "flake-parts_2", + "gnome-shell": "gnome-shell", + "nixpkgs": [ + "nixpkgs" + ], + "nur": "nur", + "systems": "systems", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1791574276, + "narHash": "sha256-UMnLnZ3JlA7UTBNNNx1rNsXYoPP/cirXLCKGiQ/yDx8=", + "owner": "nix-community", + "repo": "stylix", + "rev": "2856c4c6a845b9bec98828ef197abe176e4806bb", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "stylix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1774449309, + "narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=", + "owner": "nix-systems", + "repo": "default", + "rev": "c29398b59d2048c4ab79345812849c9bd15e9150", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "ref": "future-26.11", + "repo": "default", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1785153830, + "narHash": "sha256-fNdfCTeCXU3tZG3TMincd+u68qBHQgCr2Ljr/M1mWP0=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "9bd28ed313560db3c5b605c63bc4e309e78e3fc8", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1785031658, + "narHash": "sha256-mZp9O2LjzdMzlqQF3l3fjqsuPBzXy+1qTfBEUGjTlpk=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "5d2c67f61ea7af36f16865ab6d541cdba41dc257", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1785030526, + "narHash": "sha256-klZf8UviewRkxuu74Bhbq6tqy7oxebQC7UVRWbbtQxU=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "16f5a8adf4a6b1310d0a61ab172de963e8f76a02", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" } }, "treefmt-nix": { diff --git a/flake.nix b/flake.nix old mode 100755 new mode 100644 index ac51cd7..e1e33f8 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,9 @@ { - description = "A very basic flake"; - + description = "lucy's nix config"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - nix-maid.url = "git+https://codeberg.org/viperML/nix-maid"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + import-tree.url = "github:vic/import-tree"; nix-easyroam = { url = "github:0x5a4/nix-easyroam"; inputs.nixpkgs.follows = "nixpkgs"; @@ -16,52 +16,19 @@ url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; - }; - - outputs = - { - self, - nixpkgs, - nixcord, - nix-maid, - agenix, - nix-easyroam, - }@inputs: - let - mods = [ - nix-maid.nixosModules.default - nixcord.nixosModules.nixcord - agenix.nixosModules.default - nix-easyroam.nixosModules.nix-easyroam - ./configuration.nix - ./modules/maid - ./modules/default.nix - ./secrets/age.nix - ]; - in - { - nixosConfigurations.nerv = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; - system = "x86_64-linux"; - modules = [ - ({ config, ... }: { - imports = [ ./hosts/desktop/hardware-configuration.nix ]; - networking.hostName = "nerv"; - }) - ] - ++ mods; - }; - - nixosConfigurations.seele = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; - system = "x86_64-linux"; - modules = [ - ({ config, ... }: { - imports = [ ./hosts/laptop/hardware-configuration.nix ]; - networking.hostName = "seele"; - }) - ] - ++ mods; - }; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; }; + stylix = { + url = "github:nix-community/stylix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { + imports = [ + inputs.home-manager.flakeModules.home-manager + (inputs.import-tree ./modules) + ]; + }; } diff --git a/hosts/desktop/hardware-configuration.nix b/hosts/desktop/hardware-configuration.nix deleted file mode 100755 index 10c7988..0000000 --- a/hosts/desktop/hardware-configuration.nix +++ /dev/null @@ -1,33 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/48badf37-8adb-48d0-b861-fbf71cbaddd7"; - fsType = "xfs"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/DC66-ACA6"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/3b0e79c9-e3d8-4b58-99b4-63c98309ac85"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/laptop/hardware-configuration.nix b/hosts/laptop/hardware-configuration.nix deleted file mode 100755 index 3b021ca..0000000 --- a/hosts/laptop/hardware-configuration.nix +++ /dev/null @@ -1,33 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/629196f0-60e9-476e-b294-0d22fd7279c4"; - fsType = "xfs"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/2474-C1E6"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/166d1fb4-527f-4fda-a6bf-85aad4a4f917"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/modules/default.nix b/modules/default.nix old mode 100755 new mode 100644 index 0e2ea03..1a07e2a --- a/modules/default.nix +++ b/modules/default.nix @@ -1,7 +1,46 @@ { - imports = [ - ./programs - ./services - ./hardware + self, + inputs, + ... +}: +let + mods = with self.nixosModules; [ + agenix + base_services + boot + core + easyroam + myStylix + packages + pipewire + programs + stylixTargets + stylix_fonts + tlp + user + zsh + /etc/nixos/hardware-configuration.nix ]; +in +{ + flake.nixosConfigurations.nerv = inputs.nixpkgs.lib.nixosSystem { + modules = + with self.nixosModules; + [ + { + config.dualBoot = true; + config.networking.hostName = "nerv"; + } + ] + ++ mods; + }; + flake.nixosConfigurations.seele = inputs.nixpkgs.lib.nixosSystem { + modules = [ + { + config.networking.hostName = "seele"; + } + ] + ++ mods; + + }; } diff --git a/modules/hardware/bluetooth.nix b/modules/hardware/bluetooth.nix deleted file mode 100755 index 5b22ad4..0000000 --- a/modules/hardware/bluetooth.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - hardware.bluetooth = { - enable = true; - powerOnBoot = false; - input.General.ClassicBondedOnly = false; - settings = { - General = { - Experimental = true; - }; - }; - }; -} diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix deleted file mode 100755 index 06df819..0000000 --- a/modules/hardware/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - imports = [ - ./nvidia.nix - ./bluetooth.nix - ]; - hardware.graphics.enable = true; -} diff --git a/modules/hardware/nvidia.nix b/modules/hardware/nvidia.nix deleted file mode 100755 index 858e67a..0000000 --- a/modules/hardware/nvidia.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ lib, config, ... }: { - hardware.nvidia = lib.mkIf (config.networking.hostName == "nerv") { - modesetting.enable = true; - open = true; - package = config.boot.kernelPackages.nvidiaPackages.new_feature; - }; -} diff --git a/modules/home/programs/emacs.nix b/modules/home/programs/emacs.nix new file mode 100644 index 0000000..f8d6d78 --- /dev/null +++ b/modules/home/programs/emacs.nix @@ -0,0 +1,106 @@ +{ ... }: { + + flake.homeModules.emacs = { pkgs, ... }: { + programs.emacs = { + enable = true; + package = pkgs.emacs-pgtk; + extraConfig = '' + ;; -*- lexical-binding: t; -*- + (setq make-backup-files nil) + + (add-to-list 'default-frame-alist '(font . "JetBrainsMono Nerd Font Mono-14")) + + (require 'package) + (add-to-list 'package-archives + '("melpa-snapshots" + . + "https://snapshots.melpa.org/packages/") + t) + ;; add packages + (use-package org-view-mode :ensure t) + (use-package envrc :ensure t) + + (use-package nix-mode :ensure t) + (use-package + eldoc-box + :ensure t + :hook (eglot-managed-mode . eldoc-box-hover-mode) + ) + (use-package + elisp-autofmt + :ensure t + :commands (elisp-autofmt-buffer elisp-autofmt-mode) + :hook (emacs-lisp-mode . elisp-autofmt-mode) + :config) + (use-package portage-modes :ensure t) + (use-package + corfu + :ensure t + :init + (setq + corfu-auto t + corfu-auto-prefix 1 + corfu-auto-delay 0.2) + (global-corfu-mode)) + + (setq tab-always-indent 'complete) + (use-package + cape + :ensure t + :bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-, M-p, M-+ + :init (add-hook 'completion-at-point-functions #'cape-file)) + (setq corfu-auto-prefix 2) + (use-package qml-mode :ensure t) + (use-package lua-mode :ensure t) + (use-package elcord :ensure t :init (elcord-mode)) + + (add-to-list + 'display-buffer-alist + '("\\*compilation\\*" (display-buffer-reuse-window + display-buffer-below-selected) + (window-height . 0.3))) + + + ;; remove useless shit and set default opts + (setq org-hide-emphasis-markers t) + (setq ring-bell-function 'ignore) + (menu-bar-mode -1) + (tool-bar-mode -1) + (setq display-line-numbers-type 'relative) + (global-display-line-numbers-mode +1) + (global-tab-line-mode 1) + (scroll-bar-mode -1) + (setq inhibit-splash-screen 1) + (setq custom-file "~/.emacs.d/custom.el") + (load custom-file 'noerror) + + + ;; lsp shit + (add-hook 'nix-mode-hook #'eglot-ensure) + (add-hook 'c-mode-hook #'eglot-ensure) + (add-hook 'qml-mode-hook #'eglot-ensure) + (with-eval-after-load 'eglot + (add-to-list 'eglot-server-programs '(nix-mode . ("nixd"))) + (add-to-list 'eglot-server-programs '(qml-mode . ("qmlls")))) + + ;; keybindings + (keymap-global-set "C-c f" 'eglot-format) + (keymap-global-set "C-c t" 'term) + (keymap-global-set "C-c c" 'compile) + (keymap-global-set "C-c k b" 'kill-current-buffer) + (keymap-global-set "C-c k w" 'kill-buffer-and-window) + (keymap-global-set "C-c v" 'org-view-mode) + (windmove-default-keybindings) + ;; replace dashes with bullets in org mode + (font-lock-add-keywords 'org-mode + '(("^ +\\([-*]\\) " + (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•")))))) + + (setq org-view-prettify-credentials nil) + (setq org-view-hide-keywords nil) + (envrc-global-mode) + + ''; + }; + }; +} diff --git a/modules/home/programs/fuzzel.nix b/modules/home/programs/fuzzel.nix new file mode 100644 index 0000000..4b6eb2e --- /dev/null +++ b/modules/home/programs/fuzzel.nix @@ -0,0 +1,12 @@ +{...}: { + flake.homeModules.fuzzel = { + programs.fuzzel = { + enable = true; + settings = { + main = { + dpi_aware = "no"; + }; + }; + }; + }; +} diff --git a/modules/home/programs/ghostty.nix b/modules/home/programs/ghostty.nix new file mode 100644 index 0000000..33c4cb3 --- /dev/null +++ b/modules/home/programs/ghostty.nix @@ -0,0 +1,15 @@ +{ ... }: { + flake.homeModules.ghostty = { + programs.ghostty = { + enable = true; + enableZshIntegration = true; + systemd.enable = true; + settings = { + quit-after-last-window-closed = false; + window-padding-x = 15; + window-padding-y = 15; + confirm-close-surface = false; + }; + }; + }; +} diff --git a/modules/home/programs/git.nix b/modules/home/programs/git.nix new file mode 100644 index 0000000..cc73877 --- /dev/null +++ b/modules/home/programs/git.nix @@ -0,0 +1,11 @@ +{ ... }: { + flake.homeModules.git = { + programs.git = { + enable = true; + settings = { + user.name = "lucy"; + user.email = "lucykaufmann@protonmail.com"; + }; + }; + }; +} diff --git a/modules/home/programs/niri.nix b/modules/home/programs/niri.nix new file mode 100644 index 0000000..1feea0c --- /dev/null +++ b/modules/home/programs/niri.nix @@ -0,0 +1,163 @@ +{ ... }: { + flake.homeModules.niri = { + wayland.windowManager.niri = { + enable = true; + extraConfig = '' + prefer-no-csd + hotkey-overlay { + skip-at-startup + } + + environment { + GTK_THEME "adw-gtk3-dark" + XDG_CURRENT_DESKTOP "niri" + XDG_SESSION_TYPE "wayland" + XDG_SESSION_DESKTOP "niri" + QT_QPA_PLATFORM "wayland;xcb" + OZONE_PLATFORM "wayland" + ELECTRON_OZONE_PLATFORM_HINT "auto" + } + cursor { + xcursor-size 24 + xcursor-theme "macOS" + } + input { + keyboard { + xkb { + layout "eu" + } + } + + touchpad { + tap + natural-scroll + + } + + mouse { + accel-speed -0.4 + accel-profile "flat" + } + focus-follows-mouse max-scroll-amount="20%" + + } + + output "PNP(BNQ) BenQ EX2710Q K6R04023019" { + mode "2560x1440@165.002" + scale 1 + transform "normal" + position x=1920 y=0 + } + output "Dell Inc. DELL P2317H 9KFDW6C533DB" { + position x=0 y=0 + } + + output "eDP-1" { + scale 1 + } + + + layout { + gaps 16 + center-focused-column "never" + default-column-width { proportion 0.6; } + focus-ring { + off + } + border { + width 2 + active-color "#ffc87f" + inactive-color "#505050" + } + } + spawn-at-startup "qs" + screenshot-path null + animations {} + window-rule { + geometry-corner-radius 16 + clip-to-geometry true + } + + binds { + Mod+return { spawn-sh "ghostty +new-window"; } + Mod+space { spawn "fuzzel"; } + Mod+e { spawn "nautilus"; } + + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; } + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; } + XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; } + + XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; } + XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; } + XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; } + XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; } + + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } + + Mod+O repeat=false { toggle-overview; } + Mod+Q repeat=false { close-window; } + + Mod+Left { focus-column-left; } + Mod+Down { focus-window-down; } + Mod+Up { focus-window-up; } + Mod+Right { focus-column-right; } + Mod+H { focus-column-left; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + Mod+Ctrl+Left { move-column-left; } + Mod+Ctrl+Down { move-window-down; } + Mod+Ctrl+Up { move-window-up; } + Mod+Ctrl+Right { move-column-right; } + Mod+Ctrl+H { move-column-left; } + Mod+Ctrl+J { move-window-down; } + Mod+Ctrl+K { move-window-up; } + mod+ctrl+l { move-column-right; } + + Mod+comma { focus-monitor-left; } + Mod+period { focus-monitor-right; } + + Mod+Shift+comma { move-column-to-monitor-left; } + Mod+Shift+period { move-column-to-monitor-right; } + + + Mod+Shift+WheelScrollDown { focus-column-right; } + Mod+Shift+WheelScrollUp { focus-column-left; } + 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+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+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + Mod+F { maximize-column; } + + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + + Mod+V { toggle-window-floating; } + Mod+Shift+S { screenshot; } + Alt+Shift+S { screenshot-screen; } + Alt+Ctrl+S { screenshot-window; } + Mod+Shift+q { quit; } + } + ''; + }; + }; +} diff --git a/modules/home/programs/nixcord.nix b/modules/home/programs/nixcord.nix new file mode 100644 index 0000000..cb6c214 --- /dev/null +++ b/modules/home/programs/nixcord.nix @@ -0,0 +1,14 @@ +{ inputs, ... }: { + flake.homeModules.nixcord = { + imports = [ inputs.nixcord.homeModules.nixcord ]; + programs.nixcord = { + enable = true; + discord.enable = false; + vesktop.enable = true; + config.plugins = { + messageLogger.enable = true; + messageClickActions.enable = true; + }; + }; + }; +} diff --git a/modules/home/stylix/targets.nix b/modules/home/stylix/targets.nix new file mode 100644 index 0000000..3708b27 --- /dev/null +++ b/modules/home/stylix/targets.nix @@ -0,0 +1,11 @@ +{inputs, ...}: { + flake.homeModules.homeStylix = { + stylix.targets = { + ghostty.enable = true; + fuzzel.enable = true; + gtk.enable = true; + emacs.enable = true; + nixcord.enable = true; + }; + }; +} diff --git a/modules/maid/default.nix b/modules/maid/default.nix deleted file mode 100755 index eaf527c..0000000 --- a/modules/maid/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./maid.nix - ]; -} diff --git a/modules/maid/dots.nix b/modules/maid/dots.nix deleted file mode 100755 index f191273..0000000 --- a/modules/maid/dots.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - file.home = { - emacs = { - target = ".emacs.d/init.el"; - source = "{{home}}/nixos/dotfiles/emacs/init.el"; - }; - }; - file.xdg_config.foot = { - target = "foot/foot.ini"; - source = "{{home}}/nixos/dotfiles/foot/foot.ini"; - }; - file.xdg_config.fuzzel = { - target = "fuzzel/fuzzel.ini"; - source = "{{home}}/nixos/dotfiles/fuzzel/fuzzel.ini"; - }; - file.xdg_config.niri = { - target = "niri/config.kdl"; - source = "{{home}}/nixos/dotfiles/niri/config.kdl"; - }; - file.xdg_config.tinty = { - target = "tinted-theming/tinty/config.toml"; - source = "{{home}}/nixos/dotfiles/tinted-theming/tinty/config.toml"; - }; - file.xdg_config.gtk-3 = { - target = "gtk-3.0/settings.ini"; - source = "{{home}}/nixos/dotfiles/gtk/settings.ini"; - }; - file.xdg_config.gtk-4 = { - target = "gtk-4.0/settings.ini"; - source = "{{home}}/nixos/dotfiles/gtk/settings.ini"; - }; -} diff --git a/modules/maid/ghostty.nix b/modules/maid/ghostty.nix deleted file mode 100755 index 2dfb40e..0000000 --- a/modules/maid/ghostty.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - config, - lib, - inputs, - ... -}: -{ - file.xdg_config.ghostty = { - text = '' - quit-after-last-window-closed = false - theme = "tinted-theming" - font-family = "JetBrainsMono Nerd Font" - font-size = 14 - window-padding-x = 15 - window-padding-y = 15 - shell-integration = none - confirm-close-surface = false - ''; - target = "ghostty/config.ghostty"; - }; - -} diff --git a/modules/maid/maid.nix b/modules/maid/maid.nix deleted file mode 100755 index 20a9076..0000000 --- a/modules/maid/maid.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ - pkgs, - config, - lib, - inputs, - ... -}: -{ - users.users.lucy.maid = { config, ... }: { - imports = [ - ./ghostty.nix - ./dots.nix - ]; - gsettings.settings = { - org.gnome.desktop.interface = { - color-scheme = "prefer-dark"; - gtk-theme = "adw-gtk3"; - cursor-theme = "macOS"; - icon-theme = "Papirus"; - cursor-size = 24; - }; - }; - systemd.services."app-com.mitchellh.ghostty" = { - description = "Ghostty"; - enableDefaultPath = false; - after = [ - "graphical-session.target" - "dbus.socket" - ]; - requires = [ "dbus.socket" ]; - wantedBy = [ config.maid.systemdGraphicalTarget ]; - reloadIfChanged = true; - serviceConfig = { - Type = "notify"; - ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID"; - BusName = "com.mitchellh.ghostty"; - ExecStart = "${pkgs.ghostty}/bin/ghostty --gtk-single-instance=true --initial-window=false"; - }; - }; - - systemd.services.polkit-gnome = { - wantedBy = [ config.maid.systemdGraphicalTarget ]; - unitConfig = { - Description = "polkit-gnome authentication agent"; - PartOf = [ config.maid.systemdGraphicalTarget ]; - After = [ config.maid.systemdGraphicalTarget ]; - }; - serviceConfig = { - ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; - Restart = "on-failure"; - }; - }; - - }; -} diff --git a/modules/parts.nix b/modules/parts.nix new file mode 100644 index 0000000..657e3ca --- /dev/null +++ b/modules/parts.nix @@ -0,0 +1,10 @@ +{ + config = { + systems = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + ]; + }; +} diff --git a/modules/programs/chromium.nix b/modules/programs/chromium.nix deleted file mode 100755 index d634c2a..0000000 --- a/modules/programs/chromium.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - programs.chromium = { - enable = true; - extensions = [ - "nngceckbapebfimnlniiiahkandclblb" # bitwarden - "ddkjiahejlhfcafbddmgiahcphecmpfh" # ublock origin lite - ]; - }; - environment.etc = { - "chromium" = { - enable = true; - mode = "symlink"; - source = "/home/lucy/.local/share/tinted-theming/tinty/tinted-chromium-build-file.json"; - target = "chromium/policies/managed/theme.json"; - }; - }; -} diff --git a/modules/programs/default.nix b/modules/programs/default.nix deleted file mode 100755 index 79703d1..0000000 --- a/modules/programs/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, pkgs, ... }: { - programs.niri.enable = true; - programs.steam.enable = true; - programs.direnv.enable = true; - imports = [ - ./zsh.nix - ./nixcord.nix - ./chromium.nix - ]; -} diff --git a/modules/programs/nixcord.nix b/modules/programs/nixcord.nix deleted file mode 100755 index 7bade12..0000000 --- a/modules/programs/nixcord.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, inputs, ... }: { - programs.nixcord = { - enable = true; - user = "lucy"; - discord.enable = false; - vesktop.enable = true; - config.useQuickCss = true; - config.plugins = { - messageLogger.enable = true; - messageClickActions.enable = true; - }; - }; -} diff --git a/modules/programs/zsh.nix b/modules/programs/zsh.nix deleted file mode 100755 index e518e33..0000000 --- a/modules/programs/zsh.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - programs.zsh = { - enable = true; - enableCompletion = true; - autosuggestions.enable = true; - syntaxHighlighting.enable = true; - ohMyZsh = { - enable = true; - theme = "gentoo"; - }; - shellInit = '' - export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/rbw/ssh-agent-socket" - eval "$(devenv hook zsh)" - ''; - }; - system.userActivationScripts.zshrc = "touch .zshrc"; -} diff --git a/modules/services/default.nix b/modules/services/default.nix deleted file mode 100755 index c420d4f..0000000 --- a/modules/services/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ config, pkgs, lib, ... }: { - imports = [ - ./tlp.nix - ./easyroam.nix - ./syncthing.nix - ./pipewire.nix - ]; - services = { - xserver.videoDrivers = lib.mkIf (config.networking.hostName == "nerv") [ "nvidia" ]; - blueman.enable = true; - printing.enable = true; - emacs.enable = false; - xserver.xkb = { - layout = "eu"; - variant = ""; - }; - upower.enable = true; - displayManager.gdm.enable = true; - udisks2.enable = true; - gvfs.enable = true; - gnome.gnome-keyring.enable = true; - }; -} diff --git a/modules/services/easyroam.nix b/modules/services/easyroam.nix deleted file mode 100755 index 1aa5782..0000000 --- a/modules/services/easyroam.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, ... }: { - services.easyroam = { - enable = true; - pkcsFile = config.age.secrets.easyroam.path; - networkmanager.enable = true; - }; - systemd.services.wpa_supplicant = { - wants = [ "easyroam-cert-setup.service" ]; - after = [ "easyroam-cert-setup.service" ]; - }; -} diff --git a/modules/services/pipewire.nix b/modules/services/pipewire.nix deleted file mode 100755 index 24e9fb5..0000000 --- a/modules/services/pipewire.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; -} diff --git a/modules/services/syncthing.nix b/modules/services/syncthing.nix deleted file mode 100755 index 27f65c4..0000000 --- a/modules/services/syncthing.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - services.syncthing = { - user = "lucy"; - dataDir = "/home/lucy/sync"; - configDir = "/home/lucy/.config/syncthing"; - enable = true; - openDefaultPorts = true; - settings = { - devices = { - "cyberia" = { - id = "5SW5N7Z-BGTZD37-5ELRQVE-PBRK3O5-M4CGYLZ-R3KCVVS-AM5QD2G-WTQYKA7"; - }; - }; - }; - }; -} diff --git a/modules/services/tlp.nix b/modules/services/tlp.nix deleted file mode 100755 index b025c88..0000000 --- a/modules/services/tlp.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.tlp = { - enable = true; - pd.enable = true; - }; -} diff --git a/secrets/agenix-rules.nix b/modules/system/agenix/_agenix-rules.nix old mode 100755 new mode 100644 similarity index 100% rename from secrets/agenix-rules.nix rename to modules/system/agenix/_agenix-rules.nix diff --git a/modules/system/agenix/agenix.nix b/modules/system/agenix/agenix.nix new file mode 100644 index 0000000..00e7b55 --- /dev/null +++ b/modules/system/agenix/agenix.nix @@ -0,0 +1,14 @@ +{inputs, ... }: { + flake.nixosModules.agenix = {config, ...}: { + imports = [ + inputs.agenix.nixosModules.default + ]; + age = { + enable = true; + identityPaths = [ "/var/lib/misc/key.age" ]; + secrets = { + easyroam.file = ./easyroam.age; + }; + }; + }; +} diff --git a/secrets/easyroam.age b/modules/system/agenix/easyroam.age old mode 100755 new mode 100644 similarity index 100% rename from secrets/easyroam.age rename to modules/system/agenix/easyroam.age diff --git a/modules/system/core/boot.nix b/modules/system/core/boot.nix new file mode 100644 index 0000000..35e0e3d --- /dev/null +++ b/modules/system/core/boot.nix @@ -0,0 +1,22 @@ +{ lib, config, ... }: { + flake.nixosModules.boot = { config, ... }: { + options = { + dualBoot = lib.mkOption { + type = lib.types.bool; + default = false; + description = "wether to enable windows boot entry to limine or not"; + }; + }; + config.boot.loader = { + efi.canTouchEfiVariables = true; + limine = { + enable = true; + extraEntries = lib.mkIf config.dualBoot '' + /Windows 11 + protocol: efi_boot_entry + entry: Windows Boot Manager + ''; + }; + }; + }; +} diff --git a/modules/system/core/core.nix b/modules/system/core/core.nix new file mode 100644 index 0000000..430c611 --- /dev/null +++ b/modules/system/core/core.nix @@ -0,0 +1,37 @@ +{ ... }: { + flake.nixosModules.core = { + hardware.bluetooth = { + enable = true; + powerOnBoot = false; + input.General.ClassicBondedOnly = false; + settings = { + General = { + Experimental = true; + }; + }; + }; + time.timeZone = "Europe/Berlin"; + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + security = { + rtkit.enable = true; + polkit.enable = true; # polkit + polkit.enablePkexecWrapper = true; + }; + networking.networkmanager.enable = true; + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + }; +} diff --git a/modules/system/core/packages.nix b/modules/system/core/packages.nix new file mode 100644 index 0000000..d40f18c --- /dev/null +++ b/modules/system/core/packages.nix @@ -0,0 +1,47 @@ +{ ... }: { + flake.nixosModules.packages = { pkgs, ... }: { + nixpkgs.config.allowUnfree = true; + programs.niri.enable = true; + environment.systemPackages = with pkgs; [ + stow + ufetch + rbw + pinentry-gnome3 + nixd + nixfmt + xournalpp + rnote + btop + chromium + quickshell + wl-clipboard + adw-gtk3 + polkit_gnome + xwayland-satellite + nemo + libwacom + devenv + kdePackages.qt6ct + gcc + clang-tools + clang + gdb + gnumake + libreoffice + ripgrep + jq + nmgui + kdePackages.qtdeclarative + gsettings-desktop-schemas + glib + ]; + fonts.packages = with pkgs; [ + jetbrains-mono + nerd-fonts.jetbrains-mono + noto-fonts + noto-fonts-cjk-sans + noto-fonts-color-emoji + inter + ]; + }; +} diff --git a/modules/system/core/user.nix b/modules/system/core/user.nix new file mode 100644 index 0000000..2de9142 --- /dev/null +++ b/modules/system/core/user.nix @@ -0,0 +1,34 @@ +{ inputs, self, ... }: { + flake.nixosModules.user = { pkgs, ... }: { + imports = [ + inputs.home-manager.nixosModules.home-manager + ]; + users.users."lucy" = { + shell = pkgs.zsh; + isNormalUser = true; + description = "lucy"; + extraGroups = [ + "networkmanager" + "wheel" + ]; + }; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.lucy = { + home.username = "lucy"; + home.homeDirectory = "/home/lucy"; + home.stateVersion = "25.11"; + + }; + home-manager.sharedModules = with self.homeModules; [ + nixcord + ghostty + niri + emacs + git + homeStylix + fuzzel + ]; + }; +} diff --git a/modules/system/programs/default.nix b/modules/system/programs/default.nix new file mode 100644 index 0000000..e4458ef --- /dev/null +++ b/modules/system/programs/default.nix @@ -0,0 +1,7 @@ +{ ... }: { + flake.nixosModules.programs = { + programs.niri.enable = true; + programs.steam.enable = true; + programs.direnv.enable = true; + }; +} diff --git a/modules/system/programs/zsh.nix b/modules/system/programs/zsh.nix new file mode 100644 index 0000000..9c3c153 --- /dev/null +++ b/modules/system/programs/zsh.nix @@ -0,0 +1,19 @@ +{ ... }: { + flake.nixosModules.zsh = { + programs.zsh = { + enable = true; + enableCompletion = true; + autosuggestions.enable = true; + syntaxHighlighting.enable = true; + ohMyZsh = { + enable = true; + theme = "gentoo"; + }; + shellInit = '' + export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/rbw/ssh-agent-socket" + eval "$(devenv hook zsh)" + ''; + }; + system.userActivationScripts.zshrc = "touch .zshrc"; + }; +} diff --git a/modules/system/services/base.nix b/modules/system/services/base.nix new file mode 100644 index 0000000..27dabb7 --- /dev/null +++ b/modules/system/services/base.nix @@ -0,0 +1,6 @@ +{ ... }: { + flake.nixosModules.base_services = { + services.upower.enable = true; + services.blueman.enable = true; + }; +} diff --git a/modules/system/services/easyroam.nix b/modules/system/services/easyroam.nix new file mode 100644 index 0000000..0583bc5 --- /dev/null +++ b/modules/system/services/easyroam.nix @@ -0,0 +1,16 @@ +{ inputs, ... }: { + flake.nixosModules.easyroam = { config, ... }: { + imports = [ + inputs.nix-easyroam.nixosModules.nix-easyroam + ]; + services.easyroam = { + enable = true; + pkcsFile = config.age.secrets.easyroam.path; + networkmanager.enable = true; + }; + systemd.services.wpa_supplicant = { + wants = [ "easyroam-cert-setup.service" ]; + after = [ "easyroam-cert-setup.service" ]; + }; + }; +} diff --git a/modules/system/services/pipewire.nix b/modules/system/services/pipewire.nix new file mode 100644 index 0000000..a026ef5 --- /dev/null +++ b/modules/system/services/pipewire.nix @@ -0,0 +1,10 @@ +{ ... }: { + flake.nixosModules.pipewire = { + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + }; +} diff --git a/modules/system/services/tlp.nix b/modules/system/services/tlp.nix new file mode 100644 index 0000000..814305a --- /dev/null +++ b/modules/system/services/tlp.nix @@ -0,0 +1,8 @@ +{ ... }: { + flake.nixosModules.tlp = { + services.tlp = { + enable = true; + pd.enable = true; + }; + }; +} diff --git a/modules/system/stylix/default.nix b/modules/system/stylix/default.nix new file mode 100644 index 0000000..b4ccdb0 --- /dev/null +++ b/modules/system/stylix/default.nix @@ -0,0 +1,22 @@ +{ inputs, ... }: { + flake.nixosModules.myStylix = { pkgs, ... }: { + imports = [ + inputs.stylix.nixosModules.stylix + ]; + stylix = { + enable = true; + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; + cursor = { + name = "macOS"; + package = pkgs.apple-cursor; + size = 24; + }; + icons = { + enable = true; + dark = "Papirus-Dark"; + light = "Papirus-Light"; + package = pkgs.papirus-icon-theme; + }; + }; + }; +} diff --git a/modules/system/stylix/fonts.nix b/modules/system/stylix/fonts.nix new file mode 100644 index 0000000..c8025a6 --- /dev/null +++ b/modules/system/stylix/fonts.nix @@ -0,0 +1,25 @@ +{ ... }: { + flake.nixosModules.stylix_fonts = { pkgs, config, ... }: { + stylix.fonts = { + serif = { + package = config.stylix.fonts.monospace.package; + name = config.stylix.fonts.monospace.name; + }; + + sansSerif = { + package = config.stylix.fonts.monospace.package; + name = config.stylix.fonts.monospace.name; + }; + + monospace = { + package = pkgs.iosevka; + name = "Iosevka"; + }; + + emoji = { + package = pkgs.noto-fonts-color-emoji; + name = "Noto Color Emoji"; + }; + }; + }; +} diff --git a/modules/system/stylix/targets.nix b/modules/system/stylix/targets.nix new file mode 100644 index 0000000..81b064f --- /dev/null +++ b/modules/system/stylix/targets.nix @@ -0,0 +1,14 @@ +{ inputs, ... }: { + flake.nixosModules.stylixTargets = { + stylix.autoEnable = false; + stylix.targets = { + gtk.enable = true; + chromium.enable = true; + console.enable = true; + font-packages.enable = true; + fontconfig.enable = true; + limine.enable = true; + limine.image.enable = false; + }; + }; +} diff --git a/modules/system/stylix/wallpaper.png b/modules/system/stylix/wallpaper.png new file mode 100644 index 0000000..24abfee Binary files /dev/null and b/modules/system/stylix/wallpaper.png differ diff --git a/secrets/age.nix b/secrets/age.nix deleted file mode 100755 index 43dcffa..0000000 --- a/secrets/age.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - age = { - enable = true; - identityPaths = [ "/var/lib/misc/key.age" ]; - secrets = { - easyroam.file = ./easyroam.age; - }; - }; -}