diff --git a/configuration.nix b/configuration.nix index d4f694a..35779d6 100644 --- a/configuration.nix +++ b/configuration.nix @@ -175,7 +175,8 @@ in settings.PasswordAuthentication = true; }; - networking.firewall.allowedTCPPorts = [ 22 ]; + networking.firewall.allowedTCPPorts = [ 22 8384 22000 ]; + networking.firewall.allowedUDPPorts = [ 22000 21027 ]; # services.emacs.enable = true; # services.emacs.package = import /home/mbk/.emacs.d { pkgs = pkgs; }; @@ -236,13 +237,21 @@ in IdleActionSec=20s '' else ""; - # List services that you want to enable: - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; + services.syncthing = { + enable = true; + user = "mbk"; + dataDir = "/home/mbk/Sync"; + configDir = "/home/mbk/.config/syncthing"; + settings.devices = { + pixel-6 = { id = "2QJMXQD-OTLK5TM-KNIZUMA-HM3ISPI-7AVY4CG-EOHHYEV-2W5HUNN-DHXLRAJ"; }; + }; + settings.folders = { + Sync = { + path = "/home/mbk/Sync"; + devices = [ "pixel-6" ]; + }; + }; + }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions diff --git a/home.nix b/home.nix index b1668d2..3b1a652 100644 --- a/home.nix +++ b/home.nix @@ -23,7 +23,11 @@ in # lutris # mono5 nethack - # chezmoi + angband + brogue + cataclysm-dda + # not yet + # celeste64 # wineWowPackages.stable # winetricks # foliate @@ -41,6 +45,7 @@ in ghc sbcl chez + guile racket clojure ruby_3_3 @@ -62,6 +67,7 @@ in steam gamemode rare + slipstream obs-studio # drm more like pooprm # might as well use a newer version @@ -72,6 +78,8 @@ in # yeah audacious audacity + ffmpeg + godot_4 akku ripgrep @@ -91,13 +99,14 @@ in yt-dlp qbittorrent - (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) lmms helm obsidian - #monaspace + + (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + lmmath # glow and gum are a good example of something that should really be in a flake.nix or whatever ] ++ more-packages; @@ -196,6 +205,7 @@ in elixir-tools-nvim #vim-rubocop zig-vim + vim-elixir gruvbox ]; extraConfig = import ./nvim.conf.nix; @@ -304,6 +314,7 @@ in counsel gruvbox-theme lsp-mode + # lean-mode avy consult embark @@ -327,6 +338,7 @@ in paredit rainbow-delimiters geiser-chez + geiser-guile macrostep-geiser evil evil-leader @@ -335,11 +347,22 @@ in evil-commentary evil-org erc-hl-nicks + elixir-mode + gcmh + + slime + general + lispyville ]; # apparently errors in the config matter? nvm? - extraConfig = builtins.readFile ./init.el; + extraConfig = (import ./init.el.nix) pkgs; }; programs.direnv.enable = true; programs.direnv.nix-direnv.enable = true; + + # services.syncthing = { + # enable = true; + # tray.enable = true; + # }; } diff --git a/init.el b/init.el.nix similarity index 95% rename from init.el rename to init.el.nix index 1b5db09..e290a1f 100644 --- a/init.el +++ b/init.el.nix @@ -1,3 +1,5 @@ +pkgs: +'' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Basic settings for quick startup and convenience @@ -202,9 +204,9 @@ If the new path's directories does not exist, create them." (setq mouse-wheel-flip-direction t) ;; We won't set these, but they're good to know about -;; -;; (setq-default indent-tabs-mode nil) -;; (setq-default tab-width 4) +;; I will. Thanks! +(setq-default indent-tabs-mode nil) +(setq-default tab-width 4) ;; Misc. UI tweaks (blink-cursor-mode -1) ; Steady cursor @@ -305,8 +307,8 @@ If the new path's directories does not exist, create them." ;; (set-fringe-mode 'minimal) -;; (use-package general -;; :ensure t) +(use-package general + :ensure t) (use-package lsp-mode :ensure t) @@ -764,13 +766,13 @@ If the new path's directories does not exist, create them." ) ; gsr -(use-package geiser-chez - :ensure t - :config - (setq geiser-active-implementations '(chez)) +; (use-package geiser-chez +; :ensure t +; :config + (setq geiser-active-implementations '(chez guile)) ;(setq geiser-chez-binary "/usr/bin/chez") (setq geiser-repl-query-on-kill-p nil) - ) + ; ) (use-package macrostep-geiser :ensure t @@ -792,25 +794,22 @@ If the new path's directories does not exist, create them." ;; :config ;; ) -;; (use-package lispyville -;; :init -;; (general-add-hook '(emacs-lisp-mode-hook lisp-mode-hook scheme-mode-hook) #'lispyville-mode) -;; :config) +(use-package lispyville + :init + (general-add-hook '(emacs-lisp-mode-hook lisp-mode-hook scheme-mode-hook) #'lispyville-mode) + :config) -;; (use-package slime :ensure t -;; :init -;; (setq slime-contribs '(slime-fancy) -;; slime-complete-symbol-function 'slime-fuzzy-complete-symbol -;; slime-net-coding-system 'utf-8-unix -;; slime-lisp-implementations '((ccl64 ("/usr/local/bin/ccl64")) -;; (sbcl ("/usr/local/bin/sbcl")) -;; (abcl ("/usr/local/bin/abcl")) -;; (clisp ("/usr/local/bin/clisp")) -;; (ccl ("/usr/local/bin/ccl")))) -;; :config -;; (setq common-lisp-hyperspec-root "/usr/local/share/doc/hyperspec/HyperSpec/" -;; common-lisp-hyperspec-symbol-table (concat common-lisp-hyperspec-root "Data/Map_Sym.txt") -;; common-lisp-hyperspec-issuex-table (concat common-lisp-hyperspec-root "Data/Map_IssX.txt"))) +(use-package slime :ensure t + :init + (setq slime-contribs '(slime-fancy) + slime-complete-symbol-function 'slime-fuzzy-complete-symbol + slime-net-coding-system 'utf-8-unix + slime-lisp-implementations '((sbcl ("${pkgs.sbcl}/bin/sbcl")))) + :config + (setq common-lisp-hyperspec-root "${pkgs.sbclPackages.hyperspec}/docs/" + ;common-lisp-hyperspec-symbol-table (concat common-lisp-hyperspec-root "Data/Map_Sym.txt") + ;common-lisp-hyperspec-issuex-table (concat common-lisp-hyperspec-root "Data/Map_IssX.txt") + )) ;;; Emacs Bedrock ;;; @@ -851,10 +850,12 @@ If the new path's directories does not exist, create them." ;; (interactive) ;; (find-file "~/.emacs.d/extras/scheme.el")) ; emacs lisp really is a pain, but even this makes me appreciate the POWA -(defun scheme-set-up-two-panels-with-repl-and-editor () - (interactive) - (geiser-chez) - (geiser-mode)) +; pretty unnecessary lel +; (defun scheme-set-up-two-panels-with-repl-and-editor () +; (interactive) +; (geiser ;needs-arg +; ) +; (geiser-mode)) (defun join-libera.chat () (interactive) @@ -918,7 +919,8 @@ If the new path's directories does not exist, create them." ; si => scheme inferior (avoids conflicts) "sir" 'geiser-chez "sil" 'geiser-load-file - "sii" 'scheme-set-up-two-panels-with-repl-and-editor + ; it's funny how you find the thing you really need eventually + "sii" 'geiser-repl-switch ; ss => scheme send "sss" 'geiser-eval-last-sexp @@ -1014,4 +1016,5 @@ If the new path's directories does not exist, create them." ; critical functionality (require 'zone) -(setq zone-timer (run-with-idle-timer 120 t 'zone)) +;(setq zone-timer (run-with-idle-timer 120 t 'zone)) +''