From 15e2687aae5a5949180371298d6175872c2c3ee9 Mon Sep 17 00:00:00 2001 From: lucy Date: Mon, 31 Aug 2026 16:04:56 +0200 Subject: [PATCH] get this nix shit out of here --- flake.nix | 36 ++++++----- hosts.nix | 28 --------- modules/hosts/nerv/#nerv.nix# | 9 --- modules/hosts/nerv/.#nerv.nix | 1 - modules/programs/emacs.nix | 86 ++++++++++++++++++++++++++ modules/programs/emacs/emacs.nix | 101 ------------------------------- 6 files changed, 108 insertions(+), 153 deletions(-) delete mode 100644 hosts.nix delete mode 100644 modules/hosts/nerv/#nerv.nix# delete mode 120000 modules/hosts/nerv/.#nerv.nix create mode 100644 modules/programs/emacs.nix delete mode 100644 modules/programs/emacs/emacs.nix diff --git a/flake.nix b/flake.nix index 6a4ad46..c64f856 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,6 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - wrappers.url = "github:BirdeeHub/nix-wrapper-modules"; - flake-parts.url = "github:hercules-ci/flake-parts"; base16.url = "github:SenchoPens/base16.nix"; tt-schemes = { url = "github:tinted-theming/schemes"; @@ -14,22 +12,32 @@ { self, nixpkgs, - wrappers, - flake-parts, base16, home-manager, ... }@inputs: - flake-parts.lib.mkFlake { inherit inputs; } ( - let - theme = "catppuccin-mocha"; - in - { - imports = [ - wrappers.flakeModules.wrappers - (import ./hosts.nix { themeName = theme; }) + let + theme = "catppuccin-mocha"; + in + { + nixosConfigurations.nerv = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ + base16.nixosModule + { scheme = "${inputs.tt-schemes}/base16/${theme}.yaml"; } + ./modules/hosts/nerv/configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + imports = [ + ./modules/programs/emacs.nix + ]; + } ]; + }; + + }; - } - ); } diff --git a/hosts.nix b/hosts.nix deleted file mode 100644 index e47bc07..0000000 --- a/hosts.nix +++ /dev/null @@ -1,28 +0,0 @@ -{themeName}: { inputs, config, self, ... }: -{ - flake.nixosConfigurations.nerv = inputs.nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; - modules = [ - inputs.base16.nixosModule - { scheme = "${inputs.tt-schemes}/base16/${themeName}.yaml"; } - ./modules/hosts/nerv/configuration.nix - ./modules/home.nix - inputs.home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs; }; - } - { - imports = [ - (inputs.wrappers.lib.getInstallModule { - name = "emacs"; - value = inputs.wrappers.lib.wrapperModules.emacs; - }) - ./modules/programs/emacs/emacs.nix - ]; - - } - ]; - }; -} diff --git a/modules/hosts/nerv/#nerv.nix# b/modules/hosts/nerv/#nerv.nix# deleted file mode 100644 index 150d2b9..0000000 --- a/modules/hosts/nerv/#nerv.nix# +++ /dev/null @@ -1,9 +0,0 @@ -{ inputs, ... }: { - flake.nixosConfigurations.nerv = inputs.nixpkgs.lib.nixosSystem { - modules = [ - ./configuration.nix - - ]; - }; -} - \ No newline at end of file diff --git a/modules/hosts/nerv/.#nerv.nix b/modules/hosts/nerv/.#nerv.nix deleted file mode 120000 index 3242c7a..0000000 --- a/modules/hosts/nerv/.#nerv.nix +++ /dev/null @@ -1 +0,0 @@ -lucy@nerv.50314:1788169501 \ No newline at end of file diff --git a/modules/programs/emacs.nix b/modules/programs/emacs.nix new file mode 100644 index 0000000..7e6a759 --- /dev/null +++ b/modules/programs/emacs.nix @@ -0,0 +1,86 @@ +{ + pkgs, + lib, + config, + ... +}: +{ + programs.emacs = { + enable = true; + emacsPackages = + epkgs: with epkgs.melpaPackages; [ + corfu + cape + qml-mode + lua-mode + elcord + nix-mode + base16-theme + ]; + + runtimePkgs = with pkgs; [ + nixd + nixfmt + qt6.qtdeclarative + ]; + constructFiles.early-init.content = lib.mkBefore ";;; -*- lexical-binding: t; -*-"; + configFile = '' + ;;; -*- lexical-binding: t; -*- + (setq make-backup-files nil) + (load-theme 'base16-${config.scheme.scheme-slug} t) + (use-package + corfu + :init + (setq + corfu-auto t + corfu-auto-delay 0.2) + (global-corfu-mode)) + + (setq tab-always-indent 'complete) + (use-package + cape + :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) + (use-package lua-mode) + (use-package elcord :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 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) + (windmove-default-keybindings) + ''; + }; +} diff --git a/modules/programs/emacs/emacs.nix b/modules/programs/emacs/emacs.nix deleted file mode 100644 index 8d6e2b1..0000000 --- a/modules/programs/emacs/emacs.nix +++ /dev/null @@ -1,101 +0,0 @@ -{ - inputs, - lib, - config, - ... -}: -let - schemeName = config.scheme; -in -{ - wrappers.emacs = - { - pkgs, - wlib, - ... - }: - let - scheme = (pkgs.callPackage inputs.base16.lib { }).mkSchemeAttrs schemeName; - in - { - enable = true; - imports = [ - wlib.wrapperModules.emacs - ]; - emacsPackages = - epkgs: with epkgs.melpaPackages; [ - corfu - cape - qml-mode - lua-mode - elcord - nix-mode - base16-theme - ]; - - runtimePkgs = with pkgs; [ - nixd - nixfmt - qt6.qtdeclarative - ]; - constructFiles.early-init.content = lib.mkBefore ";;; -*- lexical-binding: t; -*-"; - configFile = '' - ;;; -*- lexical-binding: t; -*- - (setq make-backup-files nil) - (load-theme 'base16-${scheme.scheme-slug} t) - (use-package - corfu - :init - (setq - corfu-auto t - corfu-auto-delay 0.2) - (global-corfu-mode)) - - (setq tab-always-indent 'complete) - (use-package - cape - :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) - (use-package lua-mode) - (use-package elcord :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 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) - (windmove-default-keybindings) - ''; - }; -}