From b1d604c49646d8e926827f0579c956691985133e Mon Sep 17 00:00:00 2001 From: tx0 Date: Sun, 2 Mar 2025 17:14:39 +0500 Subject: [PATCH] Restructure configuration --- home/default.nix | 8 +- home/{profile/default.nix => profile.nix} | 21 +-- .../graphical/alacritty.nix} | 7 - .../graphical/anyrun.nix} | 0 .../graphical/foot.nix} | 0 .../graphical/ghostty.nix} | 0 .../graphical}/hyprland/binds.nix | 0 .../graphical}/hyprland/default.nix | 0 .../graphical}/waybar/assets/vol.svg | 0 .../graphical}/waybar/default.nix | 0 .../waybar/scripts/music/default.nix | 0 .../graphical}/waybar/scripts/music/main.py | 0 .../graphical}/waybar/scripts/music/setup.py | 0 .../graphical/xdg.nix} | 0 home/{ => programs}/terminal/bat.nix | 0 home/{ => programs}/terminal/fish.nix | 0 home/{ => programs}/terminal/fzf.nix | 0 home/{ => programs}/terminal/git.nix | 0 home/{ => programs}/terminal/nvf.nix | 0 home/{ => programs}/terminal/tmux.nix | 0 home/{ => programs}/terminal/yazi.nix | 0 home/{ => programs}/terminal/zoxide.nix | 0 home/{mako/default.nix => services/mako.nix} | 0 home/services/udiskie.nix | 10 ++ home/{nix/default.nix => system/nix.nix} | 3 +- .../default.nix => system/nixpkgs.nix} | 0 home/{ => system}/packages/default.nix | 0 .../derivations/bunnyfetch/bunnyfetch.sh | 0 .../derivations/bunnyfetch/default.nix | 0 .../default.nix => system/symlinks.nix} | 1 - home/terminal/bat/default.nix | 5 - home/terminal/fish/default.nix | 60 -------- home/terminal/fzf/default.nix | 6 - home/terminal/git/default.nix | 7 - home/terminal/nvf/default.nix | 141 ------------------ home/terminal/tmux/default.nix | 44 ------ home/terminal/yazi/default.nix | 40 ----- home/terminal/zoxide/default.nix | 13 -- home/theming/dconf.nix | 11 ++ home/theming/gtk.nix | 10 ++ home/theming/qt.nix | 6 + home/{ => theming}/stylix/default.nix | 24 --- home/{ => theming}/stylix/wallpapers.jpg | Bin 43 files changed, 49 insertions(+), 368 deletions(-) rename home/{profile/default.nix => profile.nix} (52%) rename home/{alacritty/default.nix => programs/graphical/alacritty.nix} (67%) rename home/{anyrun/default.nix => programs/graphical/anyrun.nix} (100%) rename home/{foot/default.nix => programs/graphical/foot.nix} (100%) rename home/{ghostty/default.nix => programs/graphical/ghostty.nix} (100%) rename home/{ => programs/graphical}/hyprland/binds.nix (100%) rename home/{ => programs/graphical}/hyprland/default.nix (100%) rename home/{ => programs/graphical}/waybar/assets/vol.svg (100%) rename home/{ => programs/graphical}/waybar/default.nix (100%) rename home/{ => programs/graphical}/waybar/scripts/music/default.nix (100%) rename home/{ => programs/graphical}/waybar/scripts/music/main.py (100%) rename home/{ => programs/graphical}/waybar/scripts/music/setup.py (100%) rename home/{xdg/default.nix => programs/graphical/xdg.nix} (100%) rename home/{ => programs}/terminal/bat.nix (100%) rename home/{ => programs}/terminal/fish.nix (100%) rename home/{ => programs}/terminal/fzf.nix (100%) rename home/{ => programs}/terminal/git.nix (100%) rename home/{ => programs}/terminal/nvf.nix (100%) rename home/{ => programs}/terminal/tmux.nix (100%) rename home/{ => programs}/terminal/yazi.nix (100%) rename home/{ => programs}/terminal/zoxide.nix (100%) rename home/{mako/default.nix => services/mako.nix} (100%) create mode 100644 home/services/udiskie.nix rename home/{nix/default.nix => system/nix.nix} (95%) rename home/{nixpkgs/default.nix => system/nixpkgs.nix} (100%) rename home/{ => system}/packages/default.nix (100%) rename home/{ => system}/packages/derivations/bunnyfetch/bunnyfetch.sh (100%) rename home/{ => system}/packages/derivations/bunnyfetch/default.nix (100%) rename home/{symlinks/default.nix => system/symlinks.nix} (97%) delete mode 100644 home/terminal/bat/default.nix delete mode 100644 home/terminal/fish/default.nix delete mode 100644 home/terminal/fzf/default.nix delete mode 100644 home/terminal/git/default.nix delete mode 100644 home/terminal/nvf/default.nix delete mode 100644 home/terminal/tmux/default.nix delete mode 100644 home/terminal/yazi/default.nix delete mode 100644 home/terminal/zoxide/default.nix create mode 100644 home/theming/dconf.nix create mode 100644 home/theming/gtk.nix create mode 100644 home/theming/qt.nix rename home/{ => theming}/stylix/default.nix (81%) rename home/{ => theming}/stylix/wallpapers.jpg (100%) diff --git a/home/default.nix b/home/default.nix index 0aff78b..8c5501b 100644 --- a/home/default.nix +++ b/home/default.nix @@ -3,14 +3,14 @@ path = ./.; include = [ - ./packages/default.nix - ./waybar/default.nix + ./system/packages/default.nix + ./programs/graphical/waybar/default.nix ]; exclude = [ ./default.nix - ./packages - ./waybar + ./system/packages + ./programs/graphical/waybar ]; }; } diff --git a/home/profile/default.nix b/home/profile.nix similarity index 52% rename from home/profile/default.nix rename to home/profile.nix index a791808..74cd5c2 100644 --- a/home/profile/default.nix +++ b/home/profile.nix @@ -9,32 +9,23 @@ stateVersion = "24.11"; sessionVariables = { EDITOR = "${config.home.homeDirectory}/.nix-profile/bin/nvim"; - HYPRSHOT_DIR = "$HOME/Pictures/Screenshots/"; - FLAKE = "/home/tx0/nixos/"; + HYPRSHOT_DIR = "${config.home.homeDirectory}/Pictures/Screenshots/"; + FLAKE = "${config.home.homeDirectory}/nixos/"; NIXOS_OZONE_WL = 1; ELECTRON_OZONE_PLATFORM_HINT = 1; MOZ_ENABLE_WAYLAND = 1; fish_greeting = ""; }; - sessionPath = ["$HOME/.local/bin"]; + sessionPath = ["${config.home.homeDirectory}/.local/bin"]; }; gtk.gtk3.bookmarks = [ "file:///mnt/data/" - "file:///home/tx0/Downloads/" - "file:///home/tx0/Documents/" - "file:///home/tx0/Pictures/Screenshots" + "file://${config.home.homeDirectory}/Downloads/" + "file://${config.home.homeDirectory}/Documents/" + "file://${config.home.homeDirectory}/Pictures/Screenshots" ]; - services.udiskie = { - enable = false; - settings = { - program_options = { - file_manager = "${pkgs.nautilus}/bin/nautilus"; - }; - }; - }; - universe.alacritty.enable = true; } diff --git a/home/alacritty/default.nix b/home/programs/graphical/alacritty.nix similarity index 67% rename from home/alacritty/default.nix rename to home/programs/graphical/alacritty.nix index b4369a2..ce9af2e 100644 --- a/home/alacritty/default.nix +++ b/home/programs/graphical/alacritty.nix @@ -13,13 +13,6 @@ in { enable = true; settings = { general = {live_config_reload = true;}; - - # font = { - # normal = { family = "JetBrainsMono Nerd Font Mono"; style = "Regular"; }; - # bold = { family = "JetBrainsMono Nerd Font Mono"; style = "Bold"; }; - # italic = { family = "JetBrainsMono Nerd Font Mono"; style = "Italic"; }; - # size = 14; - # }; font.glyph_offset = { x = 0; y = 0; diff --git a/home/anyrun/default.nix b/home/programs/graphical/anyrun.nix similarity index 100% rename from home/anyrun/default.nix rename to home/programs/graphical/anyrun.nix diff --git a/home/foot/default.nix b/home/programs/graphical/foot.nix similarity index 100% rename from home/foot/default.nix rename to home/programs/graphical/foot.nix diff --git a/home/ghostty/default.nix b/home/programs/graphical/ghostty.nix similarity index 100% rename from home/ghostty/default.nix rename to home/programs/graphical/ghostty.nix diff --git a/home/hyprland/binds.nix b/home/programs/graphical/hyprland/binds.nix similarity index 100% rename from home/hyprland/binds.nix rename to home/programs/graphical/hyprland/binds.nix diff --git a/home/hyprland/default.nix b/home/programs/graphical/hyprland/default.nix similarity index 100% rename from home/hyprland/default.nix rename to home/programs/graphical/hyprland/default.nix diff --git a/home/waybar/assets/vol.svg b/home/programs/graphical/waybar/assets/vol.svg similarity index 100% rename from home/waybar/assets/vol.svg rename to home/programs/graphical/waybar/assets/vol.svg diff --git a/home/waybar/default.nix b/home/programs/graphical/waybar/default.nix similarity index 100% rename from home/waybar/default.nix rename to home/programs/graphical/waybar/default.nix diff --git a/home/waybar/scripts/music/default.nix b/home/programs/graphical/waybar/scripts/music/default.nix similarity index 100% rename from home/waybar/scripts/music/default.nix rename to home/programs/graphical/waybar/scripts/music/default.nix diff --git a/home/waybar/scripts/music/main.py b/home/programs/graphical/waybar/scripts/music/main.py similarity index 100% rename from home/waybar/scripts/music/main.py rename to home/programs/graphical/waybar/scripts/music/main.py diff --git a/home/waybar/scripts/music/setup.py b/home/programs/graphical/waybar/scripts/music/setup.py similarity index 100% rename from home/waybar/scripts/music/setup.py rename to home/programs/graphical/waybar/scripts/music/setup.py diff --git a/home/xdg/default.nix b/home/programs/graphical/xdg.nix similarity index 100% rename from home/xdg/default.nix rename to home/programs/graphical/xdg.nix diff --git a/home/terminal/bat.nix b/home/programs/terminal/bat.nix similarity index 100% rename from home/terminal/bat.nix rename to home/programs/terminal/bat.nix diff --git a/home/terminal/fish.nix b/home/programs/terminal/fish.nix similarity index 100% rename from home/terminal/fish.nix rename to home/programs/terminal/fish.nix diff --git a/home/terminal/fzf.nix b/home/programs/terminal/fzf.nix similarity index 100% rename from home/terminal/fzf.nix rename to home/programs/terminal/fzf.nix diff --git a/home/terminal/git.nix b/home/programs/terminal/git.nix similarity index 100% rename from home/terminal/git.nix rename to home/programs/terminal/git.nix diff --git a/home/terminal/nvf.nix b/home/programs/terminal/nvf.nix similarity index 100% rename from home/terminal/nvf.nix rename to home/programs/terminal/nvf.nix diff --git a/home/terminal/tmux.nix b/home/programs/terminal/tmux.nix similarity index 100% rename from home/terminal/tmux.nix rename to home/programs/terminal/tmux.nix diff --git a/home/terminal/yazi.nix b/home/programs/terminal/yazi.nix similarity index 100% rename from home/terminal/yazi.nix rename to home/programs/terminal/yazi.nix diff --git a/home/terminal/zoxide.nix b/home/programs/terminal/zoxide.nix similarity index 100% rename from home/terminal/zoxide.nix rename to home/programs/terminal/zoxide.nix diff --git a/home/mako/default.nix b/home/services/mako.nix similarity index 100% rename from home/mako/default.nix rename to home/services/mako.nix diff --git a/home/services/udiskie.nix b/home/services/udiskie.nix new file mode 100644 index 0000000..ec14b10 --- /dev/null +++ b/home/services/udiskie.nix @@ -0,0 +1,10 @@ +{pkgs, ...}: { + services.udiskie = { + enable = false; + settings = { + program_options = { + file_manager = "${pkgs.nautilus}/bin/nautilus"; + }; + }; + }; +} diff --git a/home/nix/default.nix b/home/system/nix.nix similarity index 95% rename from home/nix/default.nix rename to home/system/nix.nix index f307ff5..bec8cc5 100644 --- a/home/nix/default.nix +++ b/home/system/nix.nix @@ -1,6 +1,7 @@ { inputs, pkgs, + config, ... }: { nix = { @@ -22,7 +23,7 @@ builders-use-substitutes = true; auto-optimise-store = true; trusted-users = [ - "tx0" + config.home.username "root" "@wheel" ]; diff --git a/home/nixpkgs/default.nix b/home/system/nixpkgs.nix similarity index 100% rename from home/nixpkgs/default.nix rename to home/system/nixpkgs.nix diff --git a/home/packages/default.nix b/home/system/packages/default.nix similarity index 100% rename from home/packages/default.nix rename to home/system/packages/default.nix diff --git a/home/packages/derivations/bunnyfetch/bunnyfetch.sh b/home/system/packages/derivations/bunnyfetch/bunnyfetch.sh similarity index 100% rename from home/packages/derivations/bunnyfetch/bunnyfetch.sh rename to home/system/packages/derivations/bunnyfetch/bunnyfetch.sh diff --git a/home/packages/derivations/bunnyfetch/default.nix b/home/system/packages/derivations/bunnyfetch/default.nix similarity index 100% rename from home/packages/derivations/bunnyfetch/default.nix rename to home/system/packages/derivations/bunnyfetch/default.nix diff --git a/home/symlinks/default.nix b/home/system/symlinks.nix similarity index 97% rename from home/symlinks/default.nix rename to home/system/symlinks.nix index 069138e..c045c57 100644 --- a/home/symlinks/default.nix +++ b/home/system/symlinks.nix @@ -1,6 +1,5 @@ {config, ...}: { home.file = { - # Create symbolic links for directories Documents = { source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/Documents"; target = "${config.home.homeDirectory}/Documents"; diff --git a/home/terminal/bat/default.nix b/home/terminal/bat/default.nix deleted file mode 100644 index 4cb0b03..0000000 --- a/home/terminal/bat/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.bat = { - enable = true; - }; -} diff --git a/home/terminal/fish/default.nix b/home/terminal/fish/default.nix deleted file mode 100644 index 0818955..0000000 --- a/home/terminal/fish/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ - pkgs, - config, - ... -}: { - programs.fish = { - enable = true; - - functions = { - _fetch = '' - bunnyfetch - printf "\n" - ''; - - filesize = '' - for file in $argv - if [ -f "$file" ] - echo "$file: $(stat -c %s "$file" | numfmt --to=iec)" - else - echo "$file: not found" - end - end - ''; - - y = '' - set tmp (mktemp -t "yazi-cwd.XXXXXX") - yazi $argv --cwd-file="$tmp" - if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ] - builtin cd -- "$cwd" - end - rm -f -- "$tmp" - ''; - - arm64cc-env = '' - set -gx ARCH arm64 - set -gx hardeningDisable all - set -gx CROSS_COMPILE aarch64-linux-gnu- - ''; - }; - - shellAliases = { - ls = "eza"; - cat = "bat"; - v = "nvim"; - V = "sudoedit"; - ":q" = "exit"; - cdt = "cd (mktemp -d)"; - }; - - interactiveShellInit = '' - ${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source - bind \cl 'clear; _fetch; commandline -f repaint' - bind \cb ${pkgs.btop}/bin/btop - bind \cf 'fzf; commandline -f repaint' - bind \cs 'cdi; commandline -f repaint' - - _fetch - ''; - }; -} diff --git a/home/terminal/fzf/default.nix b/home/terminal/fzf/default.nix deleted file mode 100644 index 69b8dc0..0000000 --- a/home/terminal/fzf/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.fzf = { - enable = true; - enableFishIntegration = true; - }; -} diff --git a/home/terminal/git/default.nix b/home/terminal/git/default.nix deleted file mode 100644 index bfa59a3..0000000 --- a/home/terminal/git/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - programs.git = { - enable = true; - userEmail = "me@tx0.su"; - userName = "tx0"; - }; -} diff --git a/home/terminal/nvf/default.nix b/home/terminal/nvf/default.nix deleted file mode 100644 index b55ad6b..0000000 --- a/home/terminal/nvf/default.nix +++ /dev/null @@ -1,141 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: let - inherit (config.lib.stylix) colors; -in { - programs.nvf = { - enable = true; - settings.vim = { - useSystemClipboard = true; - viAlias = true; - vimAlias = true; - theme = { - enable = true; - name = "base16"; - style = "dark"; - base16-colors = { - inherit (colors) base00 base01 base02 base03 base04 base05 base06 base07; - inherit (colors) base08 base09 base0A base0B base0C base0D base0E base0F; - }; - transparent = true; - }; - - options = { - tabstop = 2; - expandtab = true; - softtabstop = 2; - shiftwidth = 2; - }; - - lsp = { - formatOnSave = true; - }; - - visuals = { - nvim-scrollbar.enable = true; - nvim-web-devicons.enable = true; - nvim-cursorline.enable = true; - fidget-nvim.enable = true; - }; - - statusline.lualine.enable = true; - - autopairs.nvim-autopairs.enable = true; - autocomplete.nvim-cmp.enable = true; - - tabline = { - nvimBufferline = { - enable = true; - mappings = { - cycleNext = ""; - }; - setupOpts.options = { - numbers = { - _type = "lua-inline"; - expr = '' - function(opts) - return string.format('%s', opts.id) - end - ''; - }; - }; - }; - }; - - ui = { - borders.enable = true; - colorizer.enable = true; - }; - - binds.whichKey.enable = true; - - treesitter.context.enable = false; - - dashboard = { - dashboard-nvim.enable = true; - }; - - languages = { - enableLSP = true; - enableTreesitter = true; - enableFormat = true; - - nix.enable = true; - python = { - enable = true; - # lsp.server = "pyright"; - }; - go.enable = true; - bash.enable = true; - css.enable = true; - html.enable = true; - lua.enable = true; - }; - - lazy.plugins = { - "vim-tmux-navigator" = { - package = pkgs.vimPlugins.vim-tmux-navigator; - setupModule = "vim-tmux-navigator"; - cmd = [ - "TmuxNavigateLeft" - "TmuxNavigateDown" - "TmuxNavigateUp" - "TmuxNavigateRight" - "TmuxNavigatePrevious" - "TmuxNavigatorProcessList" - ]; - keys = [ - { - key = ""; - mode = "n"; - action = "TmuxNavigateLeft"; - } - { - key = ""; - mode = "n"; - action = "TmuxNavigateDown"; - } - { - key = ""; - mode = "n"; - action = "TmuxNavigateUp"; - } - { - key = ""; - mode = "n"; - action = "TmuxNavigateRight"; - } - { - key = ""; - mode = "n"; - action = "TmuxNavigatePrevious"; - } - ]; - }; - }; - }; - }; -} diff --git a/home/terminal/tmux/default.nix b/home/terminal/tmux/default.nix deleted file mode 100644 index 45094c2..0000000 --- a/home/terminal/tmux/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - pkgs, - config, - ... -}: { - programs.tmux = { - enable = true; - shell = "${pkgs.fish}/bin/fish"; - terminal = "tmux-256color"; - historyLimit = 100000; - plugins = with pkgs.tmuxPlugins; [ - vim-tmux-navigator - ]; - escapeTime = 0; - mouse = true; - - extraConfig = '' - set -g destroy-unattached on - - unbind C-b - set -g prefix C-Space - bind C-Space send-prefix - - set -g base-index 1 - set -g pane-base-index 1 - set-window-option -g pane-base-index 1 - set -g renumber-windows on - - bind -n M-H previous-window - bind -n M-: next-window - - set-window-option -g mode-keys vi - - bind-key -T copy-mode-vi v send-keys -X begin-selection - bind-key -T copy-mode-vi C-v send-keys -X rectangle-selection - bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel - unbind % - unbind '"' - bind ']' split-window -v -c "#{pane_current_path}" - bind '\' split-window -h -c "#{pane_current_path}" - bind C-l send-keys 'C-l' - ''; - }; -} diff --git a/home/terminal/yazi/default.nix b/home/terminal/yazi/default.nix deleted file mode 100644 index c39119e..0000000 --- a/home/terminal/yazi/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - programs.yazi = { - enable = true; - settings = { - opener = { - edit = [ - { - run = ''$EDITOR "$@"''; - block = true; - for = "unix"; - } - ]; - open = [ - { - run = ''xdg-open "$@"''; - desc = "Open"; - } - ]; - }; - open = { - prepend_rules = [ - { - mime = "text/*"; - use = "edit"; - } - { - name = "*.html"; - use = ["open" "edit"]; - } - ]; - append_rules = [ - { - name = "*"; - use = "open"; - } - ]; - }; - }; - }; -} diff --git a/home/terminal/zoxide/default.nix b/home/terminal/zoxide/default.nix deleted file mode 100644 index be37fc8..0000000 --- a/home/terminal/zoxide/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - pkgs, - config, - ... -}: { - programs.zoxide = { - enable = true; - enableFishIntegration = true; - options = [ - "--cmd cd" - ]; - }; -} diff --git a/home/theming/dconf.nix b/home/theming/dconf.nix new file mode 100644 index 0000000..a97777a --- /dev/null +++ b/home/theming/dconf.nix @@ -0,0 +1,11 @@ +{...}: { + dconf.settings = { + "org/gnome/desktop/wm/preferences" = { + button-layout = ":"; + }; + "org.gnome.desktop.interface" = { + gtk-color-scheme = "prefer-dark"; + color-scheme = "prefer-dark"; + }; + }; +} diff --git a/home/theming/gtk.nix b/home/theming/gtk.nix new file mode 100644 index 0000000..79febb3 --- /dev/null +++ b/home/theming/gtk.nix @@ -0,0 +1,10 @@ +{pkgs, ...}: { + gtk = { + enable = true; + + iconTheme = { + package = pkgs.papirus-icon-theme; + name = "Papirus-Dark"; + }; + }; +} diff --git a/home/theming/qt.nix b/home/theming/qt.nix new file mode 100644 index 0000000..2370970 --- /dev/null +++ b/home/theming/qt.nix @@ -0,0 +1,6 @@ +{...}: { + qt = { + # platformTheme.name = lib.mkForce "gtk3"; + enable = true; + }; +} diff --git a/home/stylix/default.nix b/home/theming/stylix/default.nix similarity index 81% rename from home/stylix/default.nix rename to home/theming/stylix/default.nix index f9e3b49..2cb4263 100644 --- a/home/stylix/default.nix +++ b/home/theming/stylix/default.nix @@ -5,35 +5,11 @@ }: let enableLutgen = false; in { - dconf.settings = { - "org/gnome/desktop/wm/preferences" = { - button-layout = ":"; - }; - "org.gnome.desktop.interface" = { - gtk-color-scheme = "prefer-dark"; - color-scheme = "prefer-dark"; - }; - }; - home.pointerCursor = { gtk.enable = true; x11.enable = true; }; - gtk = { - enable = true; - - iconTheme = { - package = pkgs.papirus-icon-theme; - name = "Papirus-Dark"; - }; - }; - - qt = { - # platformTheme.name = lib.mkForce "gtk3"; - enable = true; - }; - stylix = { enable = true; base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-medium.yaml"; diff --git a/home/stylix/wallpapers.jpg b/home/theming/stylix/wallpapers.jpg similarity index 100% rename from home/stylix/wallpapers.jpg rename to home/theming/stylix/wallpapers.jpg