diff --git a/README.org b/README.org index 31e9fe4..c1fb4e0 100644 --- a/README.org +++ b/README.org @@ -1,35 +1,39 @@ * NixFleet - A complete, declarative and reproducible configuration of my entire Nix fleet, this includes the following machines: + A complete, declarative and reproducible configuration of my entire + Nix fleet, this includes the following machines: - my main home workstation ~pc~ - homeserver (mainly a nas) ~hs~ *(to do, soon)* - my arm based [[https://wiki.pine64.org/wiki/Pinebook_Pro][PineBook Pro]] ~pbp~, almost completely open hardware - MacBook PRO that I use for work, for this I'll use [[https://github.com/LnL7/nix-darwin][nix-darwin]] keeping macOs 11 Big Sur *(to do, not soon)* - - The different confgurations share many profiles, in fact my original goal was to avoid to rewrite the same Nix derivations for my different machines. + + The different confgurations share many profiles, in fact my original + goal was to avoid to rewrite the same Nix derivations for my + different machines. ** Commands -Here I describe my most used commands. -All the commands are executed inside the Flake's development shell. -To enter in this shell is sufficent to ~cd~ in the folder (if you use ~direnv~) or run ~nix develop~. +Here I describe my most used commands. All the commands are executed +inside the Flake's development shell. To enter in this shell is +sufficent to ~cd~ in the folder (if you use ~direnv~) or run ~nix +develop~. *** Checking To check that the Nix Flake is [[https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-flake-check.html#evaluation-checks][well defined]]: #+begin_src shell -nix flake check + nix flake check #+end_src *** Building #+begin_src shell -nix -Lv build ".#nixosConfigurations..config.system.build.toplevel" -#+end_src +nix -Lv build +".#nixosConfigurations..config.system.build.toplevel" #+end_src Where ~~ is the hostname e.g. ~pc~. *** Testing new config #+begin_src shell -bud rebuild test + bud rebuild test #+end_src Where ~~ is the hostname e.g. ~pc~. @@ -37,7 +41,7 @@ Where ~~ is the hostname e.g. ~pc~. *** Switching #+begin_src shell -bud rebuild switch + bud rebuild switch #+end_src Where ~~ is the hostname e.g. ~pc~. diff --git a/pkgs/default.nix b/pkgs/default.nix index 1addf90..8b8e8a5 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,5 +1,6 @@ final: prev: { # keep sources this first sources = prev.callPackage (import ./_sources/generated.nix) {}; + customEmacs = prev.callPackage (import ./emacs) {}; # then, call packages with `final.callPackage` } diff --git a/pkgs/emacs/default.nix b/pkgs/emacs/default.nix new file mode 100644 index 0000000..31bbf5a --- /dev/null +++ b/pkgs/emacs/default.nix @@ -0,0 +1,38 @@ +{ pkgs, ... }: +let + myEmacs = pkgs.emacsPgtkGcc; + emacsWithPackages = (pkgs.emacsPackagesFor myEmacs).emacsWithPackages; +in +emacsWithPackages ( + epkgs: ( + with epkgs.melpaStablePackages; [] + ) ++ ( + with epkgs.melpaPackages; [ + all-the-icons + use-package + evil + evil-collection + helm + projectile + magit + fira-code-mode + org-superstar + nix-mode + lispy + lsp-mode + dap-mode + which-key + sudo-utils + treemacs + treemacs-evil + treemacs-projectile + treemacs-icons-dired + treemacs-magit + treemacs-persp + ] + ) ++ ( + with epkgs.elpaPackages; [ + modus-themes + ] + ) ++ [] +) diff --git a/users/profiles/emacs/default.nix b/users/profiles/emacs/default.nix index 56defaf..5df3cbc 100644 --- a/users/profiles/emacs/default.nix +++ b/users/profiles/emacs/default.nix @@ -8,42 +8,6 @@ programs.emacs = { enable = true; - package = - let - myEmacs = pkgs.emacsPgtkGcc; - emacsWithPackages = (pkgs.emacsPackagesFor myEmacs).emacsWithPackages; - in - emacsWithPackages ( - epkgs: ( - with epkgs.melpaStablePackages; [ ] - ) ++ ( - with epkgs.melpaPackages; [ - all-the-icons - use-package - evil - evil-collection - helm - projectile - magit - fira-code-mode - format-all - nix-mode - lispy - lsp-mode - dap-mode - which-key - treemacs - treemacs-evil - treemacs-projectile - treemacs-icons-dired - treemacs-magit - treemacs-persp - ] - ) ++ ( - with epkgs.elpaPackages; [ - modus-themes - ] - ) ++ [ ] - ); + package = pkgs.customEmacs; }; } diff --git a/users/profiles/emacs/emacs.d/config/config-org.el b/users/profiles/emacs/emacs.d/config/config-org.el index c4d6413..f595fcf 100644 --- a/users/profiles/emacs/emacs.d/config/config-org.el +++ b/users/profiles/emacs/emacs.d/config/config-org.el @@ -1,5 +1,10 @@ (use-package org - :init (setq fill-column 80) - :hook (org-mode . refill-mode)) + :init + (setq fill-column 80) + :hook + ((org-mode . refill-mode) + (org-mode . (lambda () (org-superstar-mode 1))) + (org-mode . prettify-symbols-mode))) + (provide 'config-org) diff --git a/users/profiles/emacs/emacs.d/config/nix.el b/users/profiles/emacs/emacs.d/config/nix.el index 8e3f463..65194c4 100644 --- a/users/profiles/emacs/emacs.d/config/nix.el +++ b/users/profiles/emacs/emacs.d/config/nix.el @@ -1,4 +1,14 @@ (use-package nix-mode :mode "\\.nix\\'") -(provide 'nix) \ No newline at end of file +(require 'sudo-utils) + +(defun nixos-rebuild-switch () + (interactive) + (sudo-utils-shell-command "nixos-rebuild switch")) + +(defun nixos-rebuild-test () + (interactive) + (sudo-utils-shell-command "nixos-rebuild test")) + +(provide 'nix)