infrastructure

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 4385bb57466c3473a29c5b524aeb397c85ec76bd
parent 1c9229d7d7a1b54edb0326890b7e6ddeeef2c156
Author: Silas Brack <silasbrack@gmail.com>
Date:   Wed, 20 May 2026 19:38:13 +0200

chore: clean up

Diffstat:
Mhosts/gaia/configuration.nix | 130+++++++++++++++++++++++++++++++++++++-------------------------------------------
Mhosts/gaia/home.nix | 29-----------------------------
Mhosts/gaia/init.el | 98++-----------------------------------------------------------------------------
3 files changed, 62 insertions(+), 195 deletions(-)

diff --git a/hosts/gaia/configuration.nix b/hosts/gaia/configuration.nix @@ -28,14 +28,6 @@ owner = "silas"; }; - # Wireguard client (VPN) - services.local.wireguard-client = { - enable = true; - address = "10.100.0.4/24"; - privateKeySecretName = "gaia_wireguard_private_key"; - routeAllTraffic = true; - }; - nix.settings.experimental-features = [ "nix-command" "flakes" @@ -62,26 +54,10 @@ enable32Bit = true; }; hardware.graphics.extraPackages = [ pkgs.rocmPackages.clr ]; + hardware.enableRedistributableFirmware = true; networking.hostName = "gaia"; networking.networkmanager.enable = true; - networking.networkmanager.wifi.powersave = false; - networking.networkmanager.dispatcherScripts = [ - { - source = - (pkgs.writeShellApplication { - name = "link_change.sh"; - runtimeInputs = [ pkgs.networkmanager ]; - text = '' - logger "$0" "$@" - ''; - }).out - + "/bin/" - + "link_change.sh"; - } - ]; - - hardware.enableRedistributableFirmware = true; time.timeZone = "Europe/Copenhagen"; i18n.defaultLocale = "en_DK.UTF-8"; @@ -105,15 +81,6 @@ }); }; - programs.foot = { - enable = true; - settings = { - main = { - font = "Iosevka Nerd Font:size=16"; - }; - }; - }; - services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { @@ -124,15 +91,6 @@ jack.enable = true; }; - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - nixpkgs.config.allowUnsupportedSystem = true; - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ - "claude-code" - "spotify" - ]; - fonts = { enableDefaultPackages = true; packages = with pkgs; [ @@ -171,6 +129,36 @@ }; }; + environment.sessionVariables = { + EDITOR = "vim"; + BROWSER = "firefox"; + TERM = "foot"; + SHELL = "bash"; + HISTIGNORE = "&:ls:exit:pwd:clear:tmux:bash:nvim"; + HISTCONTROL = "ignoreboth"; + HISTSIZE = "65535"; + HISTFILESIZE = "65535"; + }; + + environment.systemPackages = with pkgs; [ + gnupg + pavucontrol + pinentry-emacs + pinentry-tty + universal-ctags + # + wmenu + wl-clipboard + cliphist + grim + slurp + ]; + + nixpkgs.config.allowUnsupportedSystem = true; + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "claude-code" + "spotify" + ]; users.users.silas = { isNormalUser = true; description = "Silas Brack"; @@ -270,22 +258,6 @@ ]; }; - environment.systemPackages = with pkgs; [ - gnupg - pavucontrol - pinentry-emacs - pinentry-tty - universal-ctags - # - wmenu - cliphist # for hyprland clipboard history - grim # for hyprland screenshotting - pamixer # audio control - slurp # for hyprland screenshotting - swappy # for hyprland screenshotting - wl-clipboard - ]; - programs.vim = { enable = true; defaultEditor = true; @@ -336,17 +308,6 @@ }; }; - environment.sessionVariables = { - EDITOR = "vim"; - BROWSER = "firefox"; - TERM = "foot"; - SHELL = "bash"; - HISTIGNORE = "&:ls:exit:pwd:clear:tmux:bash:nvim"; - HISTCONTROL = "ignoreboth"; - HISTSIZE = "65535"; - HISTFILESIZE = "65535"; - }; - programs.bash = { interactiveShellInit = '' shopt -s histappend @@ -366,6 +327,28 @@ ''; }; + programs.foot = { + enable = true; + settings = { + main = { + font = "Iosevka Nerd Font:size=16"; + }; + }; + }; + + programs.git = { + enable = true; + config = { + user = { + email = "silasbrack@gmail.com"; + name = "Silas Brack"; + }; + init.defaultBranch = "main"; + merge.conflictStyle = "zdiff3"; + "gitea.git.fnarglebeast.com/api/v1".user = "silas"; + }; + }; + programs.firefox = { enable = true; package = (pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { pipewireSupport = true;}) {}); @@ -410,6 +393,13 @@ "github.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl"; }; + services.local.wireguard-client = { + enable = true; + address = "10.100.0.4/24"; + privateKeySecretName = "gaia_wireguard_private_key"; + routeAllTraffic = true; + }; + services.local.ollama = { enable = true; rocmOverrideGfx = "11.0.1"; diff --git a/hosts/gaia/home.nix b/hosts/gaia/home.nix @@ -21,17 +21,8 @@ extraConfig = builtins.readFile ./init.el; extraPackages = ep: [ ep.magit - ep.eat - ep.inheritenv - ep.emms ep.expand-region ep.hyperbole - ep.projectile - ep.tidal - ep.htmlize - ep.ox-pandoc - ep.forge - ep.notmuch (ep.treesit-grammars.with-grammars (g: [ g.tree-sitter-python g.tree-sitter-rust @@ -39,25 +30,5 @@ ])) ]; }; - - programs.git = { - enable = true; - settings = { - "gitea.git.fnarglebeast.com/api/v1".user = "silas"; - }; - settings = { - user = { - name = "Silas Brack"; - email = "silasbrack@gmail.com"; - }; - init = { - defaultBranch = "main"; - }; - merge = { - conflictstyle = "zdiff3"; - }; - }; - }; - }; } diff --git a/hosts/gaia/init.el b/hosts/gaia/init.el @@ -4,30 +4,12 @@ (require 'which-key) (which-key-mode) -(defun load-env-file (file) - "Load environment variables from FILE." - (interactive "fEnv file: ") - (let ((count 0)) - (with-temp-buffer - (insert-file-contents file) - (dolist (line (split-string (buffer-string) "[\n\r]+" t)) - (let ((trimmed (string-trim line))) - (unless (or (string-empty-p trimmed) - (string-prefix-p "#" trimmed)) - (when (string-match "\\`\\([^=]+\\)=\\(.*\\)\\'" trimmed) - (let ((key (string-trim (match-string 1 trimmed))) - (value (string-trim (match-string 2 trimmed)))) - ;; Remove surrounding quotes if present - (when (string-match "\\`[\"']\\(.*\\)[\"']\\'" value) - (setq value (match-string 1 value))) - (setenv key value) - (setq count (1+ count)))))))) - (message "Loaded %d environment variables from %s" count file))) - (savehist-mode 1) (pending-delete-mode 1) (setq undo-tree-auto-save-history t) +(setq org-agenda-files '("~/notes/work/daily.org" "~/notes/orgmode/books.org")) + ;; Appearance (load-theme 'modus-operandi-tinted) @@ -45,86 +27,10 @@ ;; LSP (add-hook 'python-mode-hook 'eglot-ensure) -(use-package nix-mode :mode "\\.nix\\'") -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(org-agenda-files '("~/notes/work/daily.org" "~/notes/orgmode/books.org")) - '(package-selected-packages '(claude-code inheritenv nix-mode notmuch-indicator)) - '(package-vc-selected-packages - '((claude-code :url "https://github.com/stevemolitor/claude-code.el")))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) - -(setq org-export-with-section-numbers nil) -(setq org-latex-to-mathml-convert-command - "pandoc -f latex -t html --mathml --standalone --variable css=style.css --embed-resources %i -o %o") - -(use-package ox-pandoc - :ensure t - :config - (setq org-pandoc-options-for-html5 '((mathml . t)))) - (global-set-key (kbd "C-c l") 'org-store-link) (global-set-key (kbd "C-c a") 'org-agenda) (global-set-key (kbd "C-c c") 'org-capture) -;; emms -(require 'emms-setup) -(require 'emms-player-simple) -(require 'emms-player-mpv) -(require 'emms-source-file) -(require 'emms-source-playlist) -(emms-standard) -(setq emms-player-list '(emms-player-mpv)) - ;; expand-region (require 'expand-region) (global-set-key (kbd "C-=") 'er/expand-region) - -;; notmuch -(require 'notmuch) - -;; tidal -; (setq tidal-boot-script-path "~/dev/tidal/BootTidal.hs") - -(require 'package) -(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) -(package-initialize) - -;; install required inheritenv dependency: -(use-package inheritenv - :vc (:url "https://github.com/purcell/inheritenv" :rev :newest)) - -;; for eat terminal backend: -(use-package eat :ensure t) - -;; install claude-code.el -(use-package claude-code :ensure t - :vc (:url "https://github.com/stevemolitor/claude-code.el" :rev :newest) - :config - ;; optional IDE integration with Monet - ;(add-hook 'claude-code-process-environment-functions #'monet-start-server-function) - ;(monet-mode 1) - - (claude-code-mode) - :bind-keymap ("C-c c" . claude-code-command-map) - - ;; Optionally define a repeat map so that "M" will cycle thru Claude auto-accept/plan/confirm modes after invoking claude-code-cycle-mode / C-c M. - :bind - (:repeat-map my-claude-code-map ("M" . claude-code-cycle-mode))) - -(use-package forge - :after magit) -(with-eval-after-load 'forge - (add-to-list 'forge-alist - '("git.fnarglebeast.com" - "git.fnarglebeast.com/api/v1" - "git.fnarglebeast.com" - forge-gitea-repository)))