flake-parts #1

Merged
lucy merged 41 commits from flake-parts into main 2026-10-19 22:40:55 +00:00
36 changed files with 0 additions and 1311 deletions
Showing only changes of commit 36425f82e9 - Show all commits

clear repo

lucy 2026-10-18 11:23:17 +02:00

View file

@ -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?
}

View file

@ -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-<tab>, 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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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"

View file

@ -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

View file

@ -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()

View file

@ -1,49 +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"
[[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"

202
flake.lock generated
View file

@ -1,202 +0,0 @@
{
"nodes": {
"agenix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1790734419,
"narHash": "sha256-n7wew722m1OTBT9DOIMxNX/NF4zfsSUABAO5eW3wikE=",
"owner": "ryantm",
"repo": "agenix",
"rev": "3daa710894355fa2fad8243380af373a2b4046ef",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixcord",
"nixpkgs"
]
},
"locked": {
"lastModified": 1790996401,
"narHash": "sha256-f+kOxEmOUnQazVAmGg0i8hzwgd1kX/geY+k/Dpheye8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "db7d5e2332710f5abb088f6b5de927d7f9511b35",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-26.05",
"repo": "home-manager",
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixcord",
"nixpkgs"
]
},
"locked": {
"lastModified": 1783744694,
"narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74",
"type": "github"
},
"original": {
"owner": "nix-darwin",
"ref": "nix-darwin-26.05",
"repo": "nix-darwin",
"type": "github"
}
},
"nix-easyroam": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1784038797,
"narHash": "sha256-td6Ko5RV/TFw7ALmYP9YUVXMS1b7hW7vDqabrGXyzUo=",
"owner": "0x5a4",
"repo": "nix-easyroam",
"rev": "a6c72d25edc3b210bf6b2b46395c88be7efac147",
"type": "github"
},
"original": {
"owner": "0x5a4",
"repo": "nix-easyroam",
"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",
"nix-darwin": "nix-darwin",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-ci": "nixpkgs-ci",
"nixpkgs-packages": "nixpkgs-packages",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1791789228,
"narHash": "sha256-H4oPz8lX2fHV4FOhxp9txUT/GVC/QB5mypkAkUhW31o=",
"owner": "4evy",
"repo": "nixcord",
"rev": "58298812834393c79a6c1b78d5b68e3a301a0ec1",
"type": "github"
},
"original": {
"owner": "4evy",
"repo": "nixcord",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1791594108,
"narHash": "sha256-XK4KceonkwD8LuMAt/vNrz982mXJM5jeHAxMwsUXXAQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6510408d147d8c5e6d76043e899e9251756f6a75",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-ci": {
"locked": {
"lastModified": 1791130267,
"narHash": "sha256-NCFqY2YC3/5pwakzk7tXNUj3sG+VImjU4EkZMacxF1w=",
"rev": "9013764fcc0ea99fa16cf7aa7decf8a5c3889dd2",
"type": "tarball",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1085518.9013764fcc0e/nixexprs.tar.zst"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst"
}
},
"nixpkgs-packages": {
"locked": {
"lastModified": 1791130267,
"narHash": "sha256-NCFqY2YC3/5pwakzk7tXNUj3sG+VImjU4EkZMacxF1w=",
"rev": "9013764fcc0ea99fa16cf7aa7decf8a5c3889dd2",
"type": "tarball",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1085518.9013764fcc0e/nixexprs.tar.zst"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst"
}
},
"root": {
"inputs": {
"agenix": "agenix",
"nix-easyroam": "nix-easyroam",
"nix-maid": "nix-maid",
"nixcord": "nixcord",
"nixpkgs": "nixpkgs"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixcord",
"nixpkgs"
]
},
"locked": {
"lastModified": 1791198660,
"narHash": "sha256-f8Pye933T60vreB9u9pqfAXDyBqO13U7H0LvPsOxCIA=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "8b367b728be38d1bb7206f037c9df9989df3353a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,67 +0,0 @@
{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nix-maid.url = "git+https://codeberg.org/viperML/nix-maid";
nix-easyroam = {
url = "github:0x5a4/nix-easyroam";
inputs.nixpkgs.follows = "nixpkgs";
};
nixcord = {
url = "github:4evy/nixcord";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
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;
};
};
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -1,7 +0,0 @@
{
imports = [
./programs
./services
./hardware
];
}

View file

@ -1,12 +0,0 @@
{
hardware.bluetooth = {
enable = true;
powerOnBoot = false;
input.General.ClassicBondedOnly = false;
settings = {
General = {
Experimental = true;
};
};
};
}

View file

@ -1,7 +0,0 @@
{
imports = [
./nvidia.nix
./bluetooth.nix
];
hardware.graphics.enable = true;
}

View file

@ -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;
};
}

View file

@ -1,5 +0,0 @@
{
imports = [
./maid.nix
];
}

View file

@ -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";
};
}

View file

@ -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";
};
}

View file

@ -1,41 +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";
};
};
};
}

View file

@ -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";
};
};
}

View file

@ -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
];
}

View file

@ -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;
};
};
}

View file

@ -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";
}

View file

@ -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;
};
}

View file

@ -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" ];
};
}

View file

@ -1,8 +0,0 @@
{
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
}

View file

@ -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";
};
};
};
};
}

View file

@ -1,6 +0,0 @@
{
services.tlp = {
enable = true;
pd.enable = true;
};
}

View file

@ -1,9 +0,0 @@
{
age = {
enable = true;
identityPaths = [ "/var/lib/misc/key.age" ];
secrets = {
easyroam.file = ./easyroam.age;
};
};
}

View file

@ -1,7 +0,0 @@
{ config }:
let
main = "age17hvac3hn79mwttel9snw87a20x4vguh7y7ys43xmvlhrl3mqs3wswuzlt6";
in
{
"easyroam.age".publicKeys = [ main ];
}

Binary file not shown.