62 Commits

Author SHA1 Message Date
0899a9a264 Elpaca migration wip 2024-06-25 03:01:36 -06:00
fb671d1401 [NixOS] Disable home-assistant 2024-06-13 04:49:59 +00:00
a18188d3b1 [NixOS] Fix zulip only works on x86 2024-06-12 21:09:50 -06:00
4515ea2e05 [NixOS] Allow dev keys for railbird user 2024-06-11 16:37:33 -06:00
KAT
60e1947dd8 [NixOS] Add swap to jimi-hendnix 2024-06-10 19:45:21 -06:00
0305fa4683 [NixOS] Bump railbird secrets 2024-06-11 01:27:29 +00:00
84a1f22326 Delete htop configuration 2024-06-10 18:26:56 -06:00
4cb057109f [Emacs] Add logg snippet 2024-06-10 18:25:40 -06:00
51d2863cdc [NixOS] Rename razer to david-blade 2024-06-10 18:25:25 -06:00
0c1cd15391 [Emacs] Fix avy in eat 2024-06-10 18:24:50 -06:00
cef3b04ebd [NixOS] Add railbird user 2024-06-10 16:13:19 -06:00
b9f87ac490 [NixOS] Allow agent forwarding 2024-06-03 04:08:10 +00:00
3b55c26a2c [NixOS] Enable ssh agent auth 2024-06-03 03:58:13 +00:00
dcd38e777a [NixOS] Add cuda-maintainers cache 2024-06-03 03:57:57 +00:00
2116f650f7 Revert "[starship] Switch prompt"
This reverts commit 2af8204750.
2024-06-03 02:07:31 +00:00
00139ef2fe [NixOS] [Emacs] Enable eat shell integration 2024-06-02 18:10:49 -06:00
2af8204750 [starship] Switch prompt 2024-06-02 18:10:49 -06:00
cd64244bd8 [Emacs] Disable org-wild notifications for kat 2024-06-02 18:06:48 -06:00
4cc68dedea [Emacs] Finish switching to eat including migrating term-projectile 2024-06-02 17:55:13 -06:00
77fe614b7b [Emacs] Add eat 2024-06-02 06:08:34 +00:00
6bbe7f186a [NixOS] Setup argcomplete completino for prb, prod-prb and railbird 2024-06-02 04:53:48 +00:00
77fc296e9e [NixOS] Add strixy-minaj-wsl 2024-06-02 04:04:05 +00:00
807944f182 [Emacs] Add ign and 401 snippets 2024-06-01 13:56:06 -06:00
97c2779d1b Merge pull request #25 from bcorner/master
Add ben to realUsers, users.nix
2024-05-29 00:11:41 -06:00
9d900057f6 Working ben.nix file.
Probably unrelated, had to remove ~/.zshrc and ~/.zprofile in order for
nixos-rebuild switch to work.
2024-05-29 01:03:49 -05:00
86b545761f Move home-manager.backupFileExtension entry to bottom of ben.nix 2024-05-29 00:02:55 -05:00
a8a66916f4 Add shellAliases, set backupFileExtension in ben.nix. 2024-05-28 23:01:07 -05:00
32d68061a5 Make sure user ben has sudo; quick fix, prefer no repeat extraGroups 2024-05-28 22:17:40 -05:00
94e7e738fb Add ben to realUsers, users.nix; key to keys.nix. zsh now default??
uhh paste contents of .profile into .zprofile I guess?
2024-05-28 21:07:48 -06:00
77cf8d46a3 Add ben module 2024-05-28 20:55:02 -06:00
b5fb07519c [NixOS] Add dean's new ssh key 2024-05-27 14:49:19 -06:00
0f7e3596de Merge pull request #24 from bcorner/master
[NixOS] Add bencbox
2024-05-15 20:07:31 -06:00
7aeed13a34 [NixOS] Add bencbox 2024-05-15 20:54:01 -05:00
7f87156a58 Merge pull request #23 from deanwenstrand/master
Add dean-zephyrus
2024-05-13 17:43:43 -06:00
8a7cec11cf Add dean-zephyrus 2024-05-13 21:50:27 +00:00
da865671ad [NixOS] Flake update 2024-05-11 23:42:45 -06:00
3004f57c1a [NixOS] Update vscode-server flake 2024-05-07 14:16:23 -06:00
f82c4fb659 [NixOS] Enable vscode-server 2024-05-07 14:09:44 -06:00
a4d6664b77 [NixOS] Add zulip 2024-05-05 22:25:58 -06:00
dd256a24f4 [git] Add find-merge 2024-04-28 17:18:24 -06:00
03829b74ce [NixOS] Reenable element-desktop 2024-04-28 17:18:24 -06:00
29e68d1714 [NixOS] Move my-python-packages to overlay 2024-04-28 17:18:24 -06:00
c0c51f571d [NixOS] Add global argcomplete completion support 2024-04-28 17:18:24 -06:00
9c54be10e1 [Emacs] Update mc-lists 2024-04-28 17:18:24 -06:00
eb69712a7c [Emacs] Add org-drill 2024-04-08 23:44:09 -06:00
b86cce1c12 [NixOS] Typo 2024-04-08 07:47:07 +00:00
1b44c66902 [NixOS] Add unpriveleged 2024-04-08 07:46:22 +00:00
b54cb9fceb [NixOS] Make kanivan keys work for syncthing 2024-04-08 07:39:11 +00:00
5fae69b391 [NixOS] Gitea secret can access syncthing user 2024-04-08 05:49:38 +00:00
b8d4cf59b8 [NixOS] Fix syncthing directory location 2024-03-23 21:20:40 -06:00
9ab7b41780 [NixOS] Update nixquick port 2024-03-22 16:50:54 -06:00
4f37050c1c Make nixquick the cache server instead of ryzen-shine 2024-03-22 16:22:48 -06:00
49d98cbca1 [NixOS] Fix for jay-lenovo 2024-03-21 18:11:06 -06:00
47ecc2a0c4 [NixOS] Fix strixi-minaj vs wsl identification in syncthing 2024-03-21 15:22:23 -06:00
149de8faae [NixOS] Fix perms issues with syncthing 2024-03-21 15:16:11 -06:00
487aae9a58 [NixOS] Remove picom inactive dim 2024-03-21 15:16:01 -06:00
fde42131d2 [NixOS] Remove 1896Office config 2024-03-20 22:01:15 -06:00
ddbe91c669 [taffybar] Fix 2024-03-20 03:43:21 -06:00
74a6e98e90 [taffybar] Fix taffybar.hs 2024-03-20 03:38:50 -06:00
1aaeeaedf0 [Linux] Generalize brightness manager to work for nvidia 2024-03-20 03:36:37 -06:00
e66a48a311 [NixOS] Rename strixy-minaj to strixi-minaj 2024-03-19 20:33:00 -06:00
ce1ba6dd90 [taffybar] Make strixy-minaj use laptop widgets 2024-03-19 20:31:04 -06:00
43 changed files with 814 additions and 638 deletions

View File

@@ -1,63 +0,0 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
htop_version=3.3.0
config_reader_min_version=3
fields=0 48 17 18 38 39 40 2 46 47 49 1
hide_kernel_threads=1
hide_userland_threads=1
hide_running_in_container=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_deleted_exe=1
shadow_distribution_path_prefix=0
highlight_megabytes=1
highlight_threads=0
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
header_margin=1
screen_tabs=0
detailed_cpu_time=0
cpu_count_from_one=1
show_cpu_usage=1
show_cpu_frequency=0
show_cpu_temperature=0
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
enable_mouse=1
delay=15
hide_function_bar=0
header_layout=two_50_50
column_meters_0=AllCPUs Memory Swap
column_meter_modes_0=1 1 1
column_meters_1=Tasks LoadAverage Uptime
column_meter_modes_1=2 2 2
tree_view=0
sort_key=48
tree_sort_key=46
sort_direction=1
tree_sort_direction=-1
tree_view_always_by_pid=0
all_branches_collapsed=0
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
.sort_key=USER
.tree_sort_key=PERCENT_CPU
.tree_view_always_by_pid=0
.tree_view=0
.sort_direction=1
.tree_sort_direction=-1
.all_branches_collapsed=0
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
.sort_key=IO_RATE
.tree_sort_key=PID
.tree_view_always_by_pid=0
.tree_view=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0

View File

@@ -226,12 +226,14 @@ main = do
, startWidgets = [myWorkspaces, myLayout] , startWidgets = [myWorkspaces, myLayout]
} }
) )
, ( "strixi-minaj"
, baseConfig { endWidgets = laptopEndWidgets }
)
, ( "jay-lenovo" , ( "jay-lenovo"
, baseConfig { endWidgets = laptopEndWidgets } , baseConfig { endWidgets = laptopEndWidgets }
), )
( "nixquick" , ( "nixquick"
, baseConfig { endWidgets = [ myTray , myMpris ] , baseConfig { endWidgets = [ myTray , myMpris ] }
}
) )
] ]

View File

@@ -54,12 +54,14 @@
sp-remove-active-pair-overlay sp-remove-active-pair-overlay
sp-splice-sexp sp-splice-sexp
sp-splice-sexp-killing-backward sp-splice-sexp-killing-backward
string-inflection-all-cycle
string-inflection-toggle string-inflection-toggle
tern-ac-dot-complete tern-ac-dot-complete
transpose-sexps transpose-sexps
transpose-words transpose-words
undo-redo undo-redo
universal-argument-minus universal-argument-minus
upcase-region
wdired-finish-edit wdired-finish-edit
yaml-electric-backspace yaml-electric-backspace
yaml-electric-dash-and-dot yaml-electric-dash-and-dot

View File

@@ -361,6 +361,8 @@ but provide support for writing custom elisp.
*** shut-up *** shut-up
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package shut-up (use-package shut-up
:demand t
:ensure (:inherit t :wait t)
:config :config
(defun imalison:shut-up-around (function &rest args) (defun imalison:shut-up-around (function &rest args)
(shut-up (apply function args)))) (shut-up (apply function args))))
@@ -856,6 +858,7 @@ details.
(directory-files filepath)))) (directory-files filepath))))
(use-package eshell (use-package eshell
:ensure nil
:commands (eshell-parse-colon-path imalison:get-executables-on-path) :commands (eshell-parse-colon-path imalison:get-executables-on-path)
:config :config
(defun imalison:get-executables-on-path () (defun imalison:get-executables-on-path ()
@@ -1233,6 +1236,7 @@ This makes ~forward-word~ and ~backward-word~ understand snake and camel case.
proced is an top like utility that runs inside of emacs. The following sets auto updating automatically and makes the update interval faster. proced is an top like utility that runs inside of emacs. The following sets auto updating automatically and makes the update interval faster.
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package proced (use-package proced
:ensure nil
:defer t :defer t
:config :config
(progn (progn
@@ -1376,6 +1380,7 @@ Paradox is a package.el extension. I have no use for it now that I use straight.
** server ** server
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package server (use-package server
:ensure nil
:demand t :demand t
:config :config
(progn (progn
@@ -1444,19 +1449,6 @@ The file server file for this emacs instance no longer exists.")
(use-package refine (use-package refine
:disabled t) :disabled t)
#+END_SRC #+END_SRC
** winner
#+BEGIN_SRC emacs-lisp
(use-package winner
:commands (winner-undo winner-redo)
:bind ("C-c q" . imalison:winner-hydra/body)
:config
(progn
(defhydra imalison:winner-hydra ()
"Winner"
("p" winner-undo "back")
("n" winner-redo "forward" :exit t))
(winner-mode 1)))
#+END_SRC
** eyebrowse ** eyebrowse
I don't have any use for this now that I use frames mode, but its an interesting idea. I don't have any use for this now that I use frames mode, but its an interesting idea.
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@@ -1521,11 +1513,10 @@ custom-set-faces in your custom file.
(use-package highlight-indent-guides (use-package highlight-indent-guides
:commands highlight-indent-guides-mode :commands highlight-indent-guides-mode
:diminish highlight-indent-guides-mode :diminish highlight-indent-guides-mode
:preface :demand t
(progn
(add-hook 'prog-mode-hook 'highlight-indent-guides-mode))
:config :config
(progn (progn
(add-hook 'prog-mode-hook 'highlight-indent-guides-mode)
(setq highlight-indent-guides-method 'fill))) (setq highlight-indent-guides-method 'fill)))
#+END_SRC #+END_SRC
** man-mode ** man-mode
@@ -1534,6 +1525,7 @@ fixes that, but for now, it needs to be run manually, since I haven't figured
out how to detect that a buffer is a man mode buffer. out how to detect that a buffer is a man mode buffer.
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package man (use-package man
:ensure nil
:config :config
(progn (progn
(defun imalison:fontify-man-page-buffer () (defun imalison:fontify-man-page-buffer ()
@@ -1759,6 +1751,7 @@ bind-key and global-set-key forms.
#+END_SRC #+END_SRC
** projectile ** projectile
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package projectile (use-package projectile
:demand t :demand t
:bind (:map projectile-mode-map :bind (:map projectile-mode-map
@@ -1772,7 +1765,7 @@ bind-key and global-set-key forms.
(projectile-git-submodule-command nil) (projectile-git-submodule-command nil)
(project-vc-merge-submodules nil) (project-vc-merge-submodules nil)
(projectile-current-project-on-switch 'keep)) (projectile-current-project-on-switch 'keep))
:preface :config
(progn (progn
(defmacro imalison:projectile-do-in-project (project-dir &rest forms) (defmacro imalison:projectile-do-in-project (project-dir &rest forms)
`(imalison:with-default-directory ,project-dir `(imalison:with-default-directory ,project-dir
@@ -1804,9 +1797,7 @@ bind-key and global-set-key forms.
(write-region "" nil (write-region "" nil
(expand-file-name (expand-file-name
(concat directory "/" (concat directory "/"
(nth 0 file-info) "/.projectile"))))))) (nth 0 file-info) "/.projectile"))))))
:config
(progn
(projectile-global-mode) (projectile-global-mode)
(diminish 'projectile-mode))) (diminish 'projectile-mode)))
#+END_SRC #+END_SRC
@@ -1855,7 +1846,8 @@ bind-key and global-set-key forms.
** avy ** avy
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package avy (use-package avy
:preface :after emit
:config
(progn (progn
(emit-prefix-selector imalison:avy (emit-prefix-selector imalison:avy
avy-goto-word-1 avy-goto-word-1
@@ -1867,11 +1859,13 @@ bind-key and global-set-key forms.
** ace-window ** ace-window
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package ace-window (use-package ace-window
:preface :after emit
(emit-prefix-selector imalison:ace-window :config
ace-select-window (progn
ace-swap-window) (emit-prefix-selector imalison:ace-window
:config (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)) ace-select-window
ace-swap-window)
(setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)))
:bind ("C-c w" . imalison:ace-window)) :bind ("C-c w" . imalison:ace-window))
#+END_SRC #+END_SRC
** neotree ** neotree
@@ -1897,41 +1891,41 @@ Neotree is useless with frame mode for now, so I've disabled it.
* Completion * Completion
** vertico ** vertico
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package vertico (use-package vertico
:demand t :demand t
:config :config
(progn (progn
(defmacro imalison:use-vertico-extension (extension-name &rest forms) (defmacro imalison:use-vertico-extension (extension-name &rest forms)
(let ((extension-symbol (intern (concat "vertico-" (symbol-name extension-name))))) (let ((extension-symbol (intern (concat "vertico-" (symbol-name extension-name)))))
`(use-package ,extension-symbol `(use-package ,extension-symbol
:after vertico :after vertico
:straight (,extension-symbol :straight (,extension-symbol
:repo "emacs-straight/vertico" :repo "emacs-straight/vertico"
:host github :host github
:files ,(list (concat "extensions/" (symbol-name extension-symbol) ".el"))) :files ,(list (concat "extensions/" (symbol-name extension-symbol) ".el")))
,@forms))) ,@forms)))
(put 'imalison:use-vertico-extension 'lisp-indent-function 'defun) (put 'imalison:use-vertico-extension 'lisp-indent-function 'defun)
(imalison:use-vertico-extension directory (imalison:use-vertico-extension directory
:bind (:map vertico-map :bind (:map vertico-map
("RET" . vertico-directory-enter) ("RET" . vertico-directory-enter)
("DEL" . vertico-directory-delete-char) ("DEL" . vertico-directory-delete-char)
("M-DEL" . vertico-directory-delete-word) ("M-DEL" . vertico-directory-delete-word)
("TAB" . embark-act))) ("TAB" . embark-act)))
(imalison:use-vertico-extension grid) (imalison:use-vertico-extension grid)
(imalison:use-vertico-extension buffer) (imalison:use-vertico-extension buffer)
(imalison:use-vertico-extension flat) (imalison:use-vertico-extension flat)
(imalison:use-vertico-extension multiform (imalison:use-vertico-extension multiform
:config :config
(progn (progn
(vertico-multiform-mode +1) (vertico-multiform-mode +1)
(setq vertico-multiform-commands (setq vertico-multiform-commands
'((consult-imenu grid) '((consult-imenu grid)
(consult-ripgrep buffer))))) (consult-ripgrep buffer)))))
(vertico-mode +1))) (vertico-mode +1)))
#+end_src #+end_src
** orderless ** orderless
#+begin_src emacs-lisp #+begin_src emacs-lisp
@@ -2026,10 +2020,12 @@ Neotree is useless with frame mode for now, so I've disabled it.
** company ** company
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package company (use-package company
:after emit
:commands company-mode imalison:company :commands company-mode imalison:company
:bind (("C-\\" . imalison:company)) :bind (("C-\\" . imalison:company))
:config :config
(progn (progn
(add-hook 'prog-mode-hook (lambda () (company-mode t)))
(emit-prefix-selector imalison:company (emit-prefix-selector imalison:company
company-complete company-complete
company-yasnippet) company-yasnippet)
@@ -2039,9 +2035,7 @@ Neotree is useless with frame mode for now, so I've disabled it.
:demand t :demand t
:config (company-prescient-mode +1)) :config (company-prescient-mode +1))
(global-company-mode) (global-company-mode)
(diminish 'company-mode)) (diminish 'company-mode)))
:init
(add-hook 'prog-mode-hook (lambda () (company-mode t))))
#+END_SRC #+END_SRC
*** company-flx *** company-flx
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@@ -2214,6 +2208,7 @@ I don't use auto-complete at all, so I have set up a hook to automatically disab
** align ** align
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package align (use-package align
:ensure nil
:bind ("C-c C-a" . imalison:align-regexp-hydra/body) :bind ("C-c C-a" . imalison:align-regexp-hydra/body)
:config :config
(progn (progn
@@ -2242,9 +2237,10 @@ I don't use auto-complete at all, so I have set up a hook to automatically disab
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package flycheck (use-package flycheck
:commands flycheck-mode :commands flycheck-mode
:init (add-hook 'prog-mode-hook 'flycheck-mode) :defer 1
:config :config
(progn (progn
(add-hook 'prog-mode-hook 'flycheck-mode)
(use-package flycheck-package (use-package flycheck-package
:disabled t :disabled t
:config (flycheck-package-setup)) :config (flycheck-package-setup))
@@ -2261,12 +2257,6 @@ I don't use auto-complete at all, so I have set up a hook to automatically disab
(global-flycheck-mode)) (global-flycheck-mode))
:diminish flycheck-mode) :diminish flycheck-mode)
#+END_SRC #+END_SRC
* straight
#+BEGIN_SRC emacs-lisp
(use-package straight
:config
(setq straight-vc-git-auto-fast-forward t))
#+END_SRC
* auth-source * auth-source
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package auth-source (use-package auth-source
@@ -2318,96 +2308,96 @@ I don't use auto-complete at all, so I have set up a hook to automatically disab
#+END_SRC #+END_SRC
*** go *** go
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package go-mode ;; (use-package go-mode
:mode (("\\.go\\'" . go-mode)) ;; :mode (("\\.go\\'" . go-mode))
:preface ;; :after emit
(progn ;; :config
(defun imalison:glide-novendor () ;; (progn
(projectile-with-default-dir (projectile-project-root) ;; (defun imalison:glide-novendor ()
(shell-command-to-string "glide novendor"))) ;; (projectile-with-default-dir (projectile-project-root)
;; (shell-command-to-string "glide novendor")))
(defun imalison:go-mode-create-imenu-index () ;; (defun imalison:go-mode-create-imenu-index ()
"Create and return an imenu index alist. Unlike the default ;; "Create and return an imenu index alist. Unlike the default
alist created by go-mode, this method creates an alist where ;; alist created by go-mode, this method creates an alist where
items follow a style that is consistent with other prog-modes." ;; items follow a style that is consistent with other prog-modes."
(let* ((patterns '(("type" "^type *\\([^ \t\n\r\f]*\\)" 1))) ;; (let* ((patterns '(("type" "^type *\\([^ \t\n\r\f]*\\)" 1)))
(type-index (imenu--generic-function patterns)) ;; (type-index (imenu--generic-function patterns))
(func-index)) ;; (func-index))
(save-excursion ;; (save-excursion
(goto-char (point-min)) ;; (goto-char (point-min))
(while (re-search-forward go-func-meth-regexp (point-max) t) ;; (while (re-search-forward go-func-meth-regexp (point-max) t)
(let* ((var (match-string-no-properties 1)) ;; (let* ((var (match-string-no-properties 1))
(func (match-string-no-properties 2)) ;; (func (match-string-no-properties 2))
(name (if var ;; (name (if var
(concat (substring var 0 -1) "." func) ;; (concat (substring var 0 -1) "." func)
func)) ;; func))
(beg (match-beginning 0)) ;; (beg (match-beginning 0))
(marker (copy-marker beg)) ;; (marker (copy-marker beg))
(item (cons name marker))) ;; (item (cons name marker)))
(setq func-index (cons item func-index))))) ;; (setq func-index (cons item func-index)))))
(nconc type-index (list (cons "func" func-index))))) ;; (nconc type-index (list (cons "func" func-index)))))
(defun imalison:go-workspace-path () ;; (defun imalison:go-workspace-path ()
(file-relative-name (projectile-project-root) ;; (file-relative-name (projectile-project-root)
(concat (file-name-as-directory ;; (concat (file-name-as-directory
(imalison:get-go-path)) "src"))) ;; (imalison:get-go-path)) "src")))
(defun imalison:install-current-go-project () ;; (defun imalison:install-current-go-project ()
(interactive) ;; (interactive)
(start-process ;; (start-process
"go install" "go install log" "go" "install" ;; "go install" "go install log" "go" "install"
(concat (file-name-as-directory (imalison:go-workspace-path)) "..."))) ;; (concat (file-name-as-directory (imalison:go-workspace-path)) "...")))
(defun imalison:get-go-path () ;; (defun imalison:get-go-path ()
(let ((environment-go-path (getenv "GOPATH"))) ;; (let ((environment-go-path (getenv "GOPATH")))
(if environment-go-path ;; (if environment-go-path
(file-name-as-directory (car (s-split ":" environment-go-path))) ;; (file-name-as-directory (car (s-split ":" environment-go-path)))
"~/go"))) ;; "~/go")))
(defmacro imalison:get-go-src (&rest paths) ;; (defmacro imalison:get-go-src (&rest paths)
`(imalison:join-paths (imalison:get-go-path) "src" ,@paths)) ;; `(imalison:join-paths (imalison:get-go-path) "src" ,@paths))
(imalison:let-advise-around imalison:advise-normal-go-command ;; (imalison:let-advise-around imalison:advise-normal-go-command
(go-command "go")) ;; (go-command "go"))
(defun imalison:go-mode-hook () ;; (defun imalison:go-mode-hook ()
(go-eldoc-setup) ;; (go-eldoc-setup)
(set (make-local-variable 'company-backends) '(company-go)) ;; (set (make-local-variable 'company-backends) '(company-go))
(make-local-variable 'projectile-globally-ignored-files) ;; (make-local-variable 'projectile-globally-ignored-files)
(add-hook 'after-save-hook 'imalison:install-current-go-project nil ;; (add-hook 'after-save-hook 'imalison:install-current-go-project nil
'yes-do-local) ;; 'yes-do-local)
(add-to-list 'projectile-globally-ignored-files ;; (add-to-list 'projectile-globally-ignored-files
"vendor"))) ;; "vendor"))
:config ;; (use-package gotest
(progn ;; :demand t
(use-package gotest ;; :after emit
:demand t ;; :bind (:map go-mode-map
:bind (:map go-mode-map ;; ("C-c t" . imalison:gotest))
("C-c t" . imalison:gotest)) ;; :preface
:preface ;; (progn
(progn ;; (emit-prefix-selector imalison:gotest
(emit-prefix-selector imalison:gotest ;; go-test-current-test
go-test-current-test ;; go-test-current-file)
go-test-current-file)
(defun imalison:add-expected-test-name-for-suite (suite-name test-name) ;; (defun imalison:add-expected-test-name-for-suite (suite-name test-name)
(if (> (length suite-name) 0) ;; (if (> (length suite-name) 0)
(concat " -run Test" suite-name) ;; (concat " -run Test" suite-name)
""))) ;; "")))
:config ;; :config
(progn ;; (progn
(setq go-test-verbose t ;; (setq go-test-verbose t
go-test-additional-arguments-function ;; go-test-additional-arguments-function
'imalison:add-expected-test-name-for-suite))) ;; 'imalison:add-expected-test-name-for-suite)))
(use-package company-go ;; (use-package company-go
:config (setq company-go-show-annotation t)) ;; :config (setq company-go-show-annotation t))
(advice-add 'go-import-add :around 'imalison:advise-normal-go-command) ;; (advice-add 'go-import-add :around 'imalison:advise-normal-go-command)
(setq gofmt-command "goimports") ;; (setq gofmt-command "goimports")
(add-hook 'go-mode-hook 'imalison:go-mode-hook) ;; (add-hook 'go-mode-hook 'imalison:go-mode-hook)
(add-hook 'before-save-hook 'gofmt-before-save t))) ;; (add-hook 'before-save-hook 'gofmt-before-save t)))
#+END_SRC #+END_SRC
**** Show diffs of testify output **** Show diffs of testify output
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@@ -2449,13 +2439,25 @@ I don't use auto-complete at all, so I have set up a hook to automatically disab
**** elisp-slime-nav **** elisp-slime-nav
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package elisp-slime-nav (use-package elisp-slime-nav
:after emit
:commands elisp-slime-nav-mode :commands elisp-slime-nav-mode
:config :config
(diminish 'elisp-slime-nav-mode) (progn
:preface (defvar imalison:check-parens nil)
(emit-prefix-selector imalison:elisp-slime-nav
elisp-slime-nav-find-elisp-thing-at-point (defun imalison:maybe-check-parens ()
elisp-slime-nav-describe-elisp-thing-at-point) (if imalison:check-parens
(check-parens)))
(defun imalison:emacs-lisp-hook ()
(elisp-slime-nav-mode t)
(add-hook 'write-file-functions 'imalison:maybe-check-parens nil t))
(add-hook 'emacs-lisp-mode-hook 'imalison:emacs-lisp-hook)
(diminish 'elisp-slime-nav-mode)
(emit-prefix-selector imalison:elisp-slime-nav
elisp-slime-nav-find-elisp-thing-at-point
elisp-slime-nav-describe-elisp-thing-at-point))
:bind (:map elisp-slime-nav-mode-map :bind (:map elisp-slime-nav-mode-map
("M-." . imalison:elisp-slime-nav))) ("M-." . imalison:elisp-slime-nav)))
#+END_SRC #+END_SRC
@@ -2465,6 +2467,7 @@ it's supposed to do, but instead uses its own collection of functions to control
where the definition is popped up. This fixes that. where the definition is popped up. This fixes that.
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package find-func (use-package find-func
:ensure nil
:preface :preface
(progn (progn
(defun imalison:find-function-display-buffer (function) (defun imalison:find-function-display-buffer (function)
@@ -2484,14 +2487,6 @@ Macrostep is an indespensible tool for writing emacs lisp macros. It lets you se
:bind (:map lisp-mode-shared-map :bind (:map lisp-mode-shared-map
("C-c e" . macrostep-expand))) ("C-c e" . macrostep-expand)))
#+END_SRC #+END_SRC
**** emr
#+BEGIN_SRC emacs-lisp
(use-package emr
:bind ("M-RET" . emr-show-refactor-menu)
:config
(progn
(add-hook 'prog-mode-hook 'emr-initialize)))
#+END_SRC
**** Editing configuration **** Editing configuration
Reduce indentation for some functions Reduce indentation for some functions
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@@ -2505,6 +2500,7 @@ Reduce indentation for some functions
**** edebug **** edebug
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package edebug (use-package edebug
:ensure nil
:defer t :defer t
:config :config
(progn (setq edebug-trace t))) (progn (setq edebug-trace t)))
@@ -2543,6 +2539,7 @@ Reduce indentation for some functions
:commands (eros-mode) :commands (eros-mode)
:config :config
(progn (progn
(add-hook 'emacs-lisp-mode-hook 'eros-mode)
(advice-add 'eval-defun :around 'eros-around-eval-defun) (advice-add 'eval-defun :around 'eros-around-eval-defun)
(advice-add 'eval-last-sexp :around 'eros-around-eval-last-sexp)) (advice-add 'eval-last-sexp :around 'eros-around-eval-last-sexp))
:preface :preface
@@ -2563,9 +2560,7 @@ Reduce indentation for some functions
(save-excursion (save-excursion
(end-of-defun) (end-of-defun)
(point)))) (point))))
result)) result))))
(add-hook 'emacs-lisp-mode-hook 'eros-mode)))
#+END_SRC #+END_SRC
**** Reevalute defvars when running eval-last-sexp **** Reevalute defvars when running eval-last-sexp
We noflet elisp--preceding-sexp to munge defvars into sexps only for We noflet elisp--preceding-sexp to munge defvars into sexps only for
@@ -2583,27 +2578,10 @@ eval-last-sexp.
#+END_SRC #+END_SRC
**** Init hook **** Init hook
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defvar imalison:check-parens nil)
(defun imalison:maybe-check-parens ()
(if imalison:check-parens
(check-parens)))
(defun imalison:emacs-lisp-hook ()
(elisp-slime-nav-mode t)
(add-hook 'write-file-functions 'imalison:maybe-check-parens nil t))
(add-hook 'emacs-lisp-mode-hook 'imalison:emacs-lisp-hook)
#+END_SRC #+END_SRC
**** Keybinds **** Keybinds
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(emit-compose
imalison:copy-eval-last-sexp kill-new prin1-to-string eval-last-sexp)
(emit-prefix-selector imalison:eval-last-sexp
eval-region-or-last-sexp
imalison:copy-eval-last-sexp)
(define-key lisp-mode-shared-map (kbd "C-c C-c") 'eval-defun) (define-key lisp-mode-shared-map (kbd "C-c C-c") 'eval-defun)
(define-key lisp-mode-shared-map (kbd "C-x C-e") 'imalison:eval-last-sexp) (define-key lisp-mode-shared-map (kbd "C-x C-e") 'imalison:eval-last-sexp)
(unbind-key "C-j" lisp-interaction-mode-map) (unbind-key "C-j" lisp-interaction-mode-map)
@@ -2704,11 +2682,6 @@ The following is taken from [[https://github.com/syl20bnr/spacemacs/blob/a650877
cider-preferred-build-tool "boot") cider-preferred-build-tool "boot")
(add-hook 'clojure-mode-hook 'cider-mode))) (add-hook 'clojure-mode-hook 'cider-mode)))
#+END_SRC #+END_SRC
**** clj-refactor
#+BEGIN_SRC emacs-lisp
(use-package clj-refactor
:commands clj-refactor-mode)
#+END_SRC
*** scala *** scala
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package scala-mode (use-package scala-mode
@@ -2908,7 +2881,7 @@ The following is taken from [[https://github.com/syl20bnr/spacemacs/blob/a650877
#+END_SRC #+END_SRC
*** C/C++ *** C/C++
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package cc-mode) (use-package cc-mode :ensure nil)
#+END_SRC #+END_SRC
*** C-- *** C--
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@@ -3113,9 +3086,10 @@ My org-mode configuration now lives in its own file org-config.org.
** magit ** magit
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package magit (use-package magit
:after emit
:commands magit-status :commands magit-status
:bind (("C-x g" . imalison:magit-status)) :bind (("C-x g" . imalison:magit-status))
:preface :config
(progn (progn
(emit-let-around imalison:magit-status-traditional (emit-let-around imalison:magit-status-traditional
magit-status magit-status
@@ -3126,9 +3100,7 @@ My org-mode configuration now lives in its own file org-config.org.
imalison:magit-status-traditional) imalison:magit-status-traditional)
(defun imalison:after-magit-visit-file (&rest args) (defun imalison:after-magit-visit-file (&rest args)
(when (derived-mode-p 'org-mode) (when (derived-mode-p 'org-mode)
(org-show-context 'magit-goto)))) (org-show-context 'magit-goto)))
:config
(progn
(when frame-mode (when frame-mode
(setq magit-commit-show-diff t)) (setq magit-commit-show-diff t))
(unbind-key "C-j" magit-status-mode-map) (unbind-key "C-j" magit-status-mode-map)
@@ -3139,7 +3111,6 @@ My org-mode configuration now lives in its own file org-config.org.
magit-display-buffer-function magit-display-buffer-function
'magit-display-buffer-same-window-except-diff-v1) 'magit-display-buffer-same-window-except-diff-v1)
(magit-auto-revert-mode) (magit-auto-revert-mode)
(add-to-list 'org-show-context-detail '(magit-goto . lineage)) (add-to-list 'org-show-context-detail '(magit-goto . lineage))
(advice-add 'magit-diff-visit-file :after 'imalison:after-magit-visit-file) (advice-add 'magit-diff-visit-file :after 'imalison:after-magit-visit-file)
(add-hook 'magit-popup-mode-hook 'imalison:disable-show-trailing-whitespace))) (add-hook 'magit-popup-mode-hook 'imalison:disable-show-trailing-whitespace)))
@@ -3150,20 +3121,6 @@ My org-mode configuration now lives in its own file org-config.org.
:disabled t :disabled t
:after magit) :after magit)
#+end_src #+end_src
** vc
#+begin_src emacs-lisp
(use-package vc
:config
(progn
(defun vc-find-revision-of-file (revision)
(interactive
(list (vc-read-revision
"Revision to visit: "
(list (imalison:join-paths (magit-toplevel) (car (magit-list-files)))))))
(let* ((file (completing-read "Select file to visit: " (magit-revision-files revision)))
(full-file (imalison:join-paths (magit-toplevel) file)))
(switch-to-buffer (vc-find-revision full-file revision))))))
#+end_src
** git-link ** git-link
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package git-link (use-package git-link
@@ -3288,14 +3245,6 @@ modeline and with excessive http requests to github.
gist-unstar gist-list-starred gist-fork)) gist-unstar gist-list-starred gist-fork))
#+END_SRC #+END_SRC
* Programming * Programming
** emr
emr (emacs refactor) provides support for refactoring in many programming languages
#+BEGIN_SRC emacs-lisp
(use-package emr
:bind (:map prog-mode-map
("M-RET" . emr-show-refactor-menu))
:config (emr-initialize))
#+END_SRC
** semantic ** semantic
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package semantic (use-package semantic
@@ -3331,6 +3280,29 @@ emr (emacs refactor) provides support for refactoring in many programming langua
(setq lsp-ui-doc-position 'bottom))))) (setq lsp-ui-doc-position 'bottom)))))
#+END_SRC #+END_SRC
* Utility * Utility
** eat
#+begin_src emacs-lisp
(use-package eat
:preface
(progn
(defun imalison:avy-eat (arg)
(interactive "P")
(eat-emacs-mode)
(imalison:avy arg)))
:bind
(:map eat-mode-map
("C-c C-k" . eat-semi-char-mode)
:map eat-semi-char-mode-map
("C-c C-j" . eat-emacs-mode)
("C-j" . imalison:avy-eat))
:config
(progn
(setq eat--install-path
(file-name-directory
(file-truename (imalison:join-paths eat--install-path "eat.el"))))
(eat-compile-terminfo)
(setq eat-term-shell-integration-directory (imalison:join-paths eat--install-path "integration"))))
#+end_src
** term ** term
The main thing I do here is restore a bunch of keybindings that are eliminated The main thing I do here is restore a bunch of keybindings that are eliminated
in term-mode. This makes term-mode 1000% more useful in term-mode. This makes term-mode 1000% more useful
@@ -3338,6 +3310,7 @@ in term-mode. This makes term-mode 1000% more useful
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package term (use-package term
:demand t :demand t
:ensure nil
:preface :preface
(progn (progn
(defun imalison:avy-term (arg) (defun imalison:avy-term (arg)
@@ -3402,6 +3375,7 @@ in term-mode. This makes term-mode 1000% more useful
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package term-projectile (use-package term-projectile
:bind ("C-c 7" . imalison:term-hydra-global/body) :bind ("C-c 7" . imalison:term-hydra-global/body)
:after emit
:commands :commands
(term-projectile-backward (term-projectile-backward
term-projectile-create-new term-projectile-create-new
@@ -3412,6 +3386,12 @@ in term-mode. This makes term-mode 1000% more useful
term-projectile-switch) term-projectile-switch)
:config :config
(progn (progn
(use-package term-manager-eat
:demand t
:straight
(term-manager-eat :type git :files ("term-manager-eat.el")
:host github :repo "colonelpanic8/term-manager"))
(setq term-projectile-term-manager (term-projectile :build-term 'term-manager-eat-build-term))
(emit-prefix-selector imalison:term (emit-prefix-selector imalison:term
term-projectile-forward term-projectile-forward
term-projectile-create-new) term-projectile-create-new)
@@ -3567,6 +3547,7 @@ I don't use iedit directly, but it is used by [[*emr][emr]] and I need to disabl
** narrow-indirect ** narrow-indirect
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package narrow-indirect (use-package narrow-indirect
:ensure nil
:init :init
(progn (progn
(define-key ctl-x-4-map "nd" 'ni-narrow-to-defun-indirect-other-window) (define-key ctl-x-4-map "nd" 'ni-narrow-to-defun-indirect-other-window)
@@ -3602,9 +3583,9 @@ I had to disable this mode because something that it does messes with coding set
(interactive) (interactive)
(setq dtrt-indent-original-indent nil) (setq dtrt-indent-original-indent nil)
(dtrt-indent-adapt))) (dtrt-indent-adapt)))
:init (add-hook 'prog-mode-hook 'dtrt-indent-mode)
:config :config
(progn (progn
(add-hook 'prog-mode-hook 'dtrt-indent-mode)
(setq dtrt-indent-active-mode-line-info " [⟼]"))) (setq dtrt-indent-active-mode-line-info " [⟼]")))
#+END_SRC #+END_SRC
** indent-guide ** indent-guide
@@ -3645,7 +3626,9 @@ Disabled because it makes it hard to redo things
** recentf ** recentf
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package recentf (use-package recentf
:ensure nil
:demand t :demand t
:after shut-up
:config :config
(progn (progn
(setq recentf-max-saved-items 1000 (setq recentf-max-saved-items 1000
@@ -3741,6 +3724,7 @@ Not really sure what this is
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package epg (use-package epg
:after shut-up :after shut-up
:ensure nil
:config :config
(shut-up (shut-up
(epa-file-enable))) (epa-file-enable)))
@@ -3763,113 +3747,6 @@ Not really sure what this is
:disabled t ;; fails to load eieio on startup :disabled t ;; fails to load eieio on startup
) )
#+END_SRC #+END_SRC
** mu4e
#+BEGIN_SRC emacs-lisp
;; (eval-when-compile
;; (require 's)
;; (defvar mu4e-elisp-directory
;; (s-trim (shell-command-to-string "mu4e_directory"))))
(use-package mu4e
:disabled t
:load-path mu4e-elisp-directory
:straight nil
:commands (mu4e mu4e-view-message-with-msgid mu4e-update-index email)
:bind ("C-c 0" . email)
:config
(progn
(defun email (&optional arg)
(interactive "P")
(if (string-equal (persp-name persp-curr) "email")
(progn (delete-other-windows) (mu4e))
(progn
(persp-switch "email")
(when (or (not (mu4e-running-p)) arg)
(delete-other-windows) (mu4e)))))
;; enable inline images
(setq mu4e-view-show-images t)
;; show images
(setq mu4e-show-images t)
;; Try to display html as text
(setq mu4e-view-prefer-html nil)
(setq mu4e-html2text-command "html2text -width 80 -nobs -utf8")
;; use imagemagick, if available
(when (fboundp 'imagemagick-register-types)
(imagemagick-register-types))
(setq mail-user-agent 'mu4e-user-agent)
(require 'org-mu4e)
(setq mu4e-compose-complete-only-after nil)
(setq mu4e-maildir "~/Mail")
(setq mu4e-drafts-folder "/[Gmail].Drafts")
(setq mu4e-sent-folder "/[Gmail].Sent Mail")
(setq mu4e-trash-folder "/[Gmail].Trash")
(setq mu4e-sent-messages-behavior 'delete)
(setq mu4e-headers-skip-duplicates t)
(setq mu4e-update-interval (* 60 20))
(setq message-kill-buffer-on-exit t)
(setq mail-user-agent 'mu4e-user-agent) ;; make mu4e the default mail client
;; don't save message to Sent Messages, Gmail/IMAP takes care of this
(setq mu4e-sent-messages-behavior 'delete)
;; allow for updating mail using 'U' in the main view:
(setq mu4e-get-mail-command "timeout 60 offlineimap")
(add-hook 'mu4e-compose-mode-hook
(defun my-do-compose-stuff () (flyspell-mode)))
(add-to-list 'mu4e-headers-actions '("view in browser" . mu4e-action-view-in-browser))
(add-to-list 'mu4e-view-actions '("view in browser" . mu4e-action-view-in-browser))
(defun mu4e-view (msg headersbuf)
"Display the message MSG in a new buffer, and keep in sync with HDRSBUF.
'In sync' here means that moving to the next/previous message in
the the message view affects HDRSBUF, as does marking etc.
As a side-effect, a message that is being viewed loses its 'unread'
marking if it still had that."
(let* ((embedded ;; is it as an embedded msg (ie. message/rfc822 att)?
(when (gethash (mu4e-message-field msg :path)
mu4e~path-parent-docid-map) t))
(buf
(if embedded
(mu4e~view-embedded-winbuf)
(get-buffer-create mu4e~view-buffer-name))))
;; note: mu4e~view-mark-as-read will pseudo-recursively call mu4e-view again
;; by triggering mu4e~view again as it marks the message as read
(with-current-buffer buf
(switch-to-buffer buf)
(setq mu4e~view-msg msg)
;;(or embedded (not (mu4e~view-mark-as-read msg)))
(when (or (mu4e~view-mark-as-read msg) t)
(let ((inhibit-read-only t))
(erase-buffer)
(mu4e~delete-all-overlays)
(insert (mu4e-view-message-text msg))
(goto-char (point-min))
(mu4e~fontify-cited)
(mu4e~fontify-signature)
(mu4e~view-make-urls-clickable)
(mu4e~view-show-images-maybe msg)
(setq
mu4e~view-buffer buf
mu4e~view-headers-buffer headersbuf)
(when embedded (local-set-key "q" 'kill-buffer-and-window))
(mu4e-view-mode))))))
(require 'smtpmail)
;; alternatively, for emacs-24 you can use:
(setq message-send-mail-function 'smtpmail-send-it
smtpmail-stream-type 'starttls
smtpmail-default-smtp-server "smtp.gmail.com"
smtpmail-smtp-server "smtp.gmail.com"
smtpmail-smtp-service 587)))
#+END_SRC
** gmail-message-mode ** gmail-message-mode
This is useful with server mode when editing gmail messages. I think that it is not currently working, or it may need to be manually enabled. This is useful with server mode when editing gmail messages. I think that it is not currently working, or it may need to be manually enabled.
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@@ -3904,56 +3781,6 @@ This is useful with server mode when editing gmail messages. I think that it is
:notifier 'imalison:windows-toast-notify) :notifier 'imalison:windows-toast-notify)
(setq alert-default-style 'windows-toast)))) (setq alert-default-style 'windows-toast))))
#+END_SRC #+END_SRC
** sauron
#+BEGIN_SRC emacs-lisp
(use-package sauron
:disabled t
:defer 5
:commands (sauron-start sauron-start-hidden)
:init
(progn
(when (eq system-type 'darwin)
(setq sauron-modules '(sauron-erc sauron-org sauron-notifications
sauron-twittering sauron-jabber sauron-identica))
(defun sauron-dbus-start ()
nil)
(makunbound 'dbus-path-emacs)))
:config
(progn
(sauron-start-hidden)
;; This should really check (featurep 'dbus) but for some reason
;; this is always true even if support is not there.
(setq sauron-prio-sauron-started 2)
(setq sauron-min-priority 3)
;; (setq sauron-dbus-cookie t) ;; linux only?
(setq sauron-separate-frame nil)
(setq sauron-nick-insensitivity 1)
(defun sauron:jabber-notify (origin priority message &optional properties)
(funcall notify-function "gtalk" message))
(defun sauron:erc-notify (origin priority message &optional properties)
(let ((event (plist-get properties :event)))
(funcall notify-function "IRC" message)))
(defun sauron:mu4e-notify (origin priority message &optional properties)
nil)
(defun sauron:dbus-notify (origin priority message &optional properties)
(funcall notify-function "GMail" message))
(defun sauron:dispatch-notify (origin priority message &optional properties)
(let ((handler (cond ((string= origin "erc") 'sauron:erc-notify)
((string= origin "jabber") 'sauron:jabber-notify)
((string= origin "mu4e") 'sauron:mu4e-notify)
((string= origin "dbus") 'sauron:dbus-notify)
(t (lambda (&rest r) nil)))))
(funcall handler origin priority message properties)))
;; Prefering alert.el for now ;; (add-hook 'sauron-event-added-functions 'sauron:dispatch-notify)
(sauron-start-hidden)
(add-hook 'sauron-event-added-functions 'sauron-alert-el-adapter)))
#+END_SRC
** screenshot
#+BEGIN_SRC emacs-lisp
(use-package screenshot
:commands screenshot)
#+END_SRC
** libmpdee ** libmpdee
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package libmpdee (use-package libmpdee
@@ -4084,23 +3911,24 @@ This also adds syntax highlighting for gradle
** jsx-mode ** jsx-mode
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package jsx-mode (use-package jsx-mode
:ensure nil
:defer t) :defer t)
#+END_SRC #+END_SRC
** css ** css
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package css-mode (use-package css-mode
:ensure nil
:mode (("\\.css\\'" . css-mode) :mode (("\\.css\\'" . css-mode)
("\\.rasi\\'" . css-mode))) ("\\.rasi\\'" . css-mode)))
#+END_SRC #+END_SRC
** sgml-mode
#+BEGIN_SRC emacs-lisp
(use-package sgml-mode
;; :bind ("C-c b" . web-beautify-html) TODO: mode specific, change binding
:commands sgml-mode)
#+END_SRC
** evil ** evil
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package evil :commands (evil-mode)) (use-package evil
:commands (evil-mode)
:config
(use-package evil-collection
:config
(with-eval-after-load 'eat (evil-collection-eat-setup))))
#+END_SRC #+END_SRC
** hackernews ** hackernews
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@@ -4121,6 +3949,9 @@ Ensure all themes that I use are installed:
(progn (progn
(setq solarized-high-contrast-mode-line t))) (setq solarized-high-contrast-mode-line t)))
(defun elpaca-function (pkg)
(eval `(elpaca ,pkg)))
(defvar-setq packages-appearance (defvar-setq packages-appearance
'(monokai-theme zenburn-theme base16-theme molokai-theme moe-theme '(monokai-theme zenburn-theme base16-theme molokai-theme moe-theme
tango-2-theme gotham-theme sublime-themes rainbow-delimiters tango-2-theme gotham-theme sublime-themes rainbow-delimiters
@@ -4129,7 +3960,7 @@ Ensure all themes that I use are installed:
forest-blue-theme flatland-theme afternoon-theme forest-blue-theme flatland-theme afternoon-theme
cyberpunk-theme dracula-theme)) cyberpunk-theme dracula-theme))
(mapcar 'straight-use-package packages-appearance) (mapcar 'elpaca-function packages-appearance)
(use-package doom-themes (use-package doom-themes
:defer t) :defer t)
@@ -4284,14 +4115,15 @@ load-theme hook (See the heading below).
(unless imalison:appearance-setup-done (unless imalison:appearance-setup-done
(unless (member imalison:dark-theme custom-enabled-themes) (unless (member imalison:dark-theme custom-enabled-themes)
(load-theme imalison:dark-theme t)) (load-theme imalison:dark-theme t))
(doom-modeline-mode +1)
(apply 'imalison:appearance args) (apply 'imalison:appearance args)
(message "running appearance") (message "running appearance")
(doom-modeline-mode +1)
(setq imalison:default-font-size-pt (face-attribute 'default :height)) (setq imalison:default-font-size-pt (face-attribute 'default :height))
(setq imalison:appearance-setup-done t))) (setq imalison:appearance-setup-done t)))
(add-hook 'after-make-frame-functions 'imalison:appearance-setup-hook) (add-hook 'elpaca-after-init-hook
(add-hook 'after-init-hook 'imalison:appearance-setup-hook) (lambda () (add-hook 'after-make-frame-functions 'imalison:appearance-setup-hook)))
(add-hook 'elpaca-after-init-hook 'imalison:appearance-setup-hook)
#+END_SRC #+END_SRC
* Post Init Custom * Post Init Custom
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp

View File

@@ -1,41 +1,28 @@
;; -*- no-byte-compile: t -*- ;; -*- no-byte-compile: t -*-
(let ((bootstrap-file (concat user-emacs-directory "straight/bootstrap.el"))
(bootstrap-version 2))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(setq native-comp-deferred-compilation-deny-list '("magit")) (setq native-comp-deferred-compilation-deny-list '("magit"))
(setq native-comp-always-compile t) (setq native-comp-always-compile t)
(setq load-no-native t) (setq load-no-native t)
(setq no-native-compile t) (setq no-native-compile t)
(setq warning-minimum-level :emergency) (setq warning-minimum-level :emergency)
(setq straight-disable-native-compile t)
;; This is a workaround for an issue in emacs28 with symlinks. See https://github.com/radian-software/straight.el/issues/701
(defun my-patch-package-find-file-visit-truename (oldfun &rest r)
(let ((find-file-visit-truename nil))
(apply oldfun r)))
(advice-add #'straight--build-autoloads :around
#'my-patch-package-find-file-visit-truename)
(setq package-enable-at-startup nil (setq package-enable-at-startup nil
straight-use-package-by-default t straight-use-package-by-default t
straight-vc-git-default-protocol 'ssh) straight-vc-git-default-protocol 'ssh)
(straight-use-package 'use-package)
(require 'use-package) (require 'use-package)
(setq use-package-enable-imenu-support t) (setq use-package-enable-imenu-support t)
(setq use-package-ensure-function 'straight-use-package-ensure-function) (setq use-package-always-ensure t)
(defvar imalison:do-benchmark nil) (defvar imalison:do-benchmark nil)
(defun emacs-directory-filepath (filename)
(concat (file-name-directory load-file-name) filename))
(load (emacs-directory-filepath "elpaca.el"))
(setq use-package-always-ensure t)
(let ((bench-file (concat (file-name-directory user-init-file) "benchmark.el"))) (let ((bench-file (concat (file-name-directory user-init-file) "benchmark.el")))
(when (file-exists-p bench-file) (load bench-file))) (when (file-exists-p bench-file) (load bench-file)))
@@ -55,6 +42,9 @@
(setq mac-option-modifier 'meta) (setq mac-option-modifier 'meta)
(setq mac-command-modifier 'super)) (setq mac-command-modifier 'super))
(use-package transient
:demand t)
;; See https://github.com/magit/magit/discussions/4997 . Without this magit is broken. ;; See https://github.com/magit/magit/discussions/4997 . Without this magit is broken.
(use-package magit (use-package magit
:demand t) :demand t)
@@ -62,29 +52,56 @@
;; This seems to fix issues with helm not explicitly declaring its dependency on async ;; This seems to fix issues with helm not explicitly declaring its dependency on async
(use-package async :demand t) (use-package async :demand t)
(use-package s :demand t)
;; Without this, org can behave very strangely ;; Without this, org can behave very strangely
(use-package org (use-package org
:straight :ensure
(org :type git :host github :repo "colonelpanic8/org-mode" :local-repo "org" (org :type git :host github :repo "colonelpanic8/org-mode" :local-repo "org"
:branch "my-main" :branch "my-main"
:depth full :pre-build (straight-recipes-org-elpa--build) :build :depth full
:build
:wait t
(:not autoloads) :files (:not autoloads) :files
(:defaults "lisp/*.el" ("etc/styles/" "etc/styles/*"))) (:defaults "lisp/*.el" ("etc/styles/" "etc/styles/*"))))
:defer t)
(use-package dash :demand t) (use-package dash :demand t)
(use-package emit
:ensure (emit :type git :host github :repo "colonelpanic8/emit")
:demand t
:config
(progn
(emit-prefix-selector imalison:mark-ring mark-ring)
(emit-prefix-selector imalison:shell-command-on-region
imalison:copy-shell-command-on-region
imalison:shell-command-on-region-replace
imalison:jq-replace)
(defun imalison:jq-replace (start end)
(interactive (region-if-active-otherwise-buffer))
(imalison:shell-command-on-region-replace start end "jq ."))
(emit-compose
imalison:copy-eval-last-sexp kill-new prin1-to-string eval-last-sexp)
(emit-prefix-selector imalison:eval-last-sexp
eval-region-or-last-sexp
imalison:copy-eval-last-sexp)))
(use-package s
:ensure (:inherit t :wait t)
:config
(when (or (equal (s-trim (shell-command-to-string "whoami")) "kat")
imalison:kat-mode)
(let ((debug-on-error t))
(org-babel-load-file
(concat (file-name-directory load-file-name) "kat-mode.org")))))
(let ((debug-on-error t)) (let ((debug-on-error t))
(org-babel-load-file (org-babel-load-file
(concat (file-name-directory load-file-name) "README.org"))) (concat (file-name-directory load-file-name) "README.org")))
(when (or (equal (s-trim (shell-command-to-string "whoami")) "kat") ;; (when imalison:do-benchmark (benchmark-init/deactivate))
imalison:kat-mode)
(let ((debug-on-error t))
(org-babel-load-file
(concat (file-name-directory load-file-name) "kat-mode.org"))))
(when imalison:do-benchmark (benchmark-init/deactivate))
;; Local Variables: ;; Local Variables:
;; flycheck-disabled-checkers: (emacs-lisp-checkdoc) ;; flycheck-disabled-checkers: (emacs-lisp-checkdoc)

View File

@@ -157,3 +157,14 @@ This makes evil-mode play nice with org-fc
(setf (alist-get 'python-ts-mode apheleia-mode-alist) (setf (alist-get 'python-ts-mode apheleia-mode-alist)
(alist-get 'python-mode apheleia-mode-alist)))) (alist-get 'python-mode apheleia-mode-alist))))
#+end_src #+end_src
* Packages
#+begin_src emacs-lisp
(use-package org-drill)
#+end_src
* Disable wild notifactions
#+begin_src emacs-lisp
(setq org-wild-notifier-day-wide-alert-times nil)
#+end_src

View File

@@ -803,7 +803,7 @@ alphanumeric characters only."
** Use org-tempo to allow inserting templates using e.g. <s ** Use org-tempo to allow inserting templates using e.g. <s
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package org-tempo (use-package org-tempo
:straight nil :ensure nil
:after org) :after org)
#+end_src #+end_src
* Packages * Packages
@@ -938,9 +938,6 @@ alphanumeric characters only."
#+end_src #+end_src
***** ui ***** ui
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package emacs-http-server
:demand t)
(use-package org-roam-ui (use-package org-roam-ui
:after org-roam :after org-roam
:custom :custom

View File

@@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: ign
# key: ign
# --
# type: ignore

View File

@@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: logg
# key: logg
# --
logger = logging.getLogger(__name__)

View File

@@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: 401
# key: 401
# --
# noqa: F401

View File

@@ -50,6 +50,7 @@
tb = rev-parse --abbrev-ref --symbolic-full-name @{u} tb = rev-parse --abbrev-ref --symbolic-full-name @{u}
untracked = "!u() { git status -s | grep "??" | awk '{print $2}'; }; u" untracked = "!u() { git status -s | grep "??" | awk '{print $2}'; }; u"
which-branch = "!wb() { b="$(git symbolic-ref HEAD)" && echo ${b#refs/heads/}; }; wb" which-branch = "!wb() { b="$(git symbolic-ref HEAD)" && echo ${b#refs/heads/}; }; wb"
find-merge = "!sh -c 'commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"
[core] [core]
# Use custom `.gitignore` and `.gitattributes` # Use custom `.gitignore` and `.gitattributes`

View File

@@ -6,6 +6,12 @@ import sys
class BrightnessManager(object): class BrightnessManager(object):
@classmethod
def find_brightness(cls):
return cls.from_path(
os.path.join("/sys/class/backlight", os.listdir("/sys/class/backlight")[0])
)
@classmethod @classmethod
def from_path(cls, path): def from_path(cls, path):
return cls( return cls(
@@ -46,11 +52,6 @@ class BrightnessManager(object):
return float(self.current_brightness) / self.max_brightness return float(self.current_brightness) / self.max_brightness
IntelBrightnessManager = BrightnessManager.from_path(
"/sys/class/backlight/intel_backlight",
)
def build_parser(): def build_parser():
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description='Interact with macbook brightness', description='Interact with macbook brightness',
@@ -70,6 +71,6 @@ def build_parser():
if __name__ == '__main__': if __name__ == '__main__':
args = build_parser().parse_args() args = build_parser().parse_args()
IntelBrightnessManager.increment_by_proportion(float(args.change) / 100) BrightnessManager.find_brightness().increment_by_proportion(float(args.change) / 100)
if args.do_print: if args.do_print:
print(int(IntelBrightnessManager.current_proportion * 100)) print(int(IntelBrightnessManager.current_proportion * 100))

View File

@@ -33,10 +33,6 @@ makeEnable config "modules.base" true {
enable = true; enable = true;
enableStrongSwan = true; enableStrongSwan = true;
plugins = [ pkgs.networkmanager-l2tp pkgs.networkmanager-openvpn ]; plugins = [ pkgs.networkmanager-l2tp pkgs.networkmanager-openvpn ];
extraConfig = ''
[main]
rc-manager=resolvconf
'';
}; };
# Audio # Audio

18
nixos/ben.nix Normal file
View File

@@ -0,0 +1,18 @@
{ pkgs, inputs, config, makeEnable, ... }:
makeEnable config "modules.ben" true {
home-manager.backupFileExtension = "backup"; # Add this line
home-manager.users.ben = {
programs.zsh = {
enable = true;
shellAliases = {
l = "ls -CF";
la = "ls -A";
ll = "ls -lh";
lla = "ls -alh";
ls = "ls --color=auto";
gts = "git status";
gtl = "git log";
};
};
};
}

View File

@@ -98,7 +98,7 @@
inherit inputs machineNames; inherit inputs machineNames;
makeEnable = (import ../make-enable.nix) nixpkgs.lib; makeEnable = (import ../make-enable.nix) nixpkgs.lib;
mapValueToKeys = keys: value: builtins.listToAttrs (map (name: { inherit name value; }) keys); mapValueToKeys = keys: value: builtins.listToAttrs (map (name: { inherit name value; }) keys);
realUsers = [ "root" "imalison" "kat" "dean" "alex" ]; realUsers = [ "root" "imalison" "kat" "dean" "alex" "ben"];
forEachUser = mapValueToKeys realUsers; forEachUser = mapValueToKeys realUsers;
} // specialArgs // (import ../keys.nix); } // specialArgs // (import ../keys.nix);
}); });

View File

@@ -3,6 +3,7 @@
imports = [ imports = [
./android.nix ./android.nix
./base.nix ./base.nix
./ben.nix
./cache-server.nix ./cache-server.nix
./cache.nix ./cache.nix
./code.nix ./code.nix

View File

@@ -1,4 +1,4 @@
{ config, pkgs, makeEnable, forEachUser, ... }: { config, pkgs, makeEnable, ... }:
makeEnable config "modules.desktop" true { makeEnable config "modules.desktop" true {
imports = [ imports = [
./fonts.nix ./fonts.nix
@@ -62,10 +62,8 @@ makeEnable config "modules.desktop" true {
firefox firefox
gnome.cheese gnome.cheese
gnome.gpaste gnome.gpaste
kleopatra kleopatra
libnotify libnotify
# Seems to be broken
libreoffice libreoffice
lxappearance lxappearance
lxqt.lxqt-powermanagement lxqt.lxqt-powermanagement
@@ -106,5 +104,6 @@ makeEnable config "modules.desktop" true {
spotify spotify
tor-browser-bundle-bin tor-browser-bundle-bin
vscode vscode
zulip
] else []); ] else []);
} }

View File

@@ -1,7 +1,7 @@
{ pkgs, config, makeEnable, forEachUser, ... }: { pkgs, config, makeEnable, forEachUser, ... }:
makeEnable config "modules.electron" false { makeEnable config "modules.electron" false {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# element-desktop element-desktop
# bitwarden # bitwarden
discord discord
# etcher # etcher

View File

@@ -27,6 +27,22 @@ with lib;
do do
autoload "''${file##*/}" autoload "''${file##*/}"
done done
fpath+="${pkgs.python-with-my-packages}/lib/python3.11/site-packages/argcomplete/bash_completion.d"
'';
interactiveShellInit = ''
eval "$(register-python-argcomplete prb)"
eval "$(register-python-argcomplete prod-prb)"
eval "$(register-python-argcomplete railbird)"
[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/zsh"
'';
};
programs.bash = {
interactiveShellInit = ''
eval "$(register-python-argcomplete prb)"
eval "$(register-python-argcomplete prod-prb)"
eval "$(register-python-argcomplete railbird)"
[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/bash"
''; '';
}; };

View File

@@ -1,19 +1,4 @@
{ pkgs, ... }: { pkgs, ... }:
let
my-python-packages = python-packages: with python-packages; [
appdirs
ipdb
ipython
numpy
openpyxl
pip
requests
tox
virtualenv
virtualenvwrapper
];
python-with-my-packages = pkgs.python311.withPackages my-python-packages;
in
{ {
nixpkgs.config.allowBroken = true; nixpkgs.config.allowBroken = true;
@@ -31,6 +16,7 @@ in
emacs emacs
fd fd
ffmpeg ffmpeg
bento4
file file
gawk gawk
gcc gcc

328
nixos/flake.lock generated
View File

@@ -7,6 +7,30 @@
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"systems": "systems" "systems": "systems"
}, },
"locked": {
"lastModified": 1715290355,
"narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=",
"owner": "ryantm",
"repo": "agenix",
"rev": "8d37c5bdeade12b6479c85acd133063ab53187a0",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"agenix_2": {
"inputs": {
"darwin": "darwin_2",
"home-manager": "home-manager_3",
"nixpkgs": [
"railbird-secrets",
"nixpkgs"
],
"systems": "systems_4"
},
"locked": { "locked": {
"lastModified": 1707830867, "lastModified": 1707830867,
"narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=", "narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=",
@@ -43,6 +67,29 @@
"type": "github" "type": "github"
} }
}, },
"darwin_2": {
"inputs": {
"nixpkgs": [
"railbird-secrets",
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1700795494,
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "master",
"repo": "nix-darwin",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -108,6 +155,27 @@
} }
}, },
"flake-parts": { "flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixified-ai", "nixified-ai",
@@ -128,7 +196,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_2": { "flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixified-ai", "nixified-ai",
@@ -170,15 +238,12 @@
} }
}, },
"flake-utils_2": { "flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": { "locked": {
"lastModified": 1705309234, "lastModified": 1667395993,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -188,6 +253,24 @@
} }
}, },
"flake-utils_3": { "flake-utils_3": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_3"
}, },
@@ -205,10 +288,28 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_4": { "flake-utils_5": {
"inputs": { "inputs": {
"systems": "systems_5" "systems": "systems_5"
}, },
"locked": {
"lastModified": 1709126324,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_6": {
"inputs": {
"systems": "systems_7"
},
"locked": { "locked": {
"lastModified": 1685518550, "lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
@@ -223,9 +324,9 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_5": { "flake-utils_7": {
"inputs": { "inputs": {
"systems": "systems_6" "systems": "systems_8"
}, },
"locked": { "locked": {
"lastModified": 1681202837, "lastModified": 1681202837,
@@ -465,7 +566,7 @@
"haskell-language-server": { "haskell-language-server": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_4",
"fourmolu-011": "fourmolu-011", "fourmolu-011": "fourmolu-011",
"fourmolu-012": "fourmolu-012", "fourmolu-012": "fourmolu-012",
"gitignore": "gitignore", "gitignore": "gitignore",
@@ -500,7 +601,7 @@
"haskell-language-server_2": { "haskell-language-server_2": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_6",
"fourmolu-011": "fourmolu-011_2", "fourmolu-011": "fourmolu-011_2",
"fourmolu-012": "fourmolu-012_2", "fourmolu-012": "fourmolu-012_2",
"gitignore": "gitignore_2", "gitignore": "gitignore_2",
@@ -512,7 +613,7 @@
"lsp": "lsp_2", "lsp": "lsp_2",
"lsp-test": "lsp-test_2", "lsp-test": "lsp-test_2",
"lsp-types": "lsp-types_2", "lsp-types": "lsp-types_2",
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_8",
"ormolu-052": "ormolu-052_2", "ormolu-052": "ormolu-052_2",
"ormolu-07": "ormolu-07_2", "ormolu-07": "ormolu-07_2",
"stylish-haskell-0145": "stylish-haskell-0145_2" "stylish-haskell-0145": "stylish-haskell-0145_2"
@@ -534,7 +635,7 @@
}, },
"hercules-ci-effects": { "hercules-ci-effects": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"nixpkgs": [ "nixpkgs": [
"nixified-ai", "nixified-ai",
"nixpkgs" "nixpkgs"
@@ -664,11 +765,33 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1710452332, "lastModified": 1715380449,
"narHash": "sha256-+lKOoQ89fD6iz6Ro7Adml4Sx6SqQcTWII4t1rvVtdjs=", "narHash": "sha256-716+f9Rj3wjSyD1xitCv2FcYbgPz1WIVDj+ZBclH99Y=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "096d9c04b3e9438855aa65e24129b97a998bd3d9", "rev": "d7682620185f213df384c363288093b486b2883f",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_3": {
"inputs": {
"nixpkgs": [
"railbird-secrets",
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1703113217,
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -694,7 +817,7 @@
}, },
"locked": { "locked": {
"lastModified": 1, "lastModified": 1,
"narHash": "sha256-/j8RpaKS3M26QXE61bqjZPBiaPwEiO5P9pJ2imA1bD4=", "narHash": "sha256-o42629VeuDMu2N76vrw2L8CIawLK3RP10W+M4e8qCCA=",
"path": "../dotfiles/config/taffybar", "path": "../dotfiles/config/taffybar",
"type": "path" "type": "path"
}, },
@@ -811,16 +934,18 @@
"nix": { "nix": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"libgit2": "libgit2", "libgit2": "libgit2",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-regression": "nixpkgs-regression" "nixpkgs-regression": "nixpkgs-regression",
"pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1710366336, "lastModified": 1715361977,
"narHash": "sha256-eJeZ3vMbuC351B6CH4mqcpuZJ9RgtdRcxvhd7X2++Nk=", "narHash": "sha256-j/PLYYGs+Gjge4JGYxMjOhWQEp+GB4Fdicetbpmp6n0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nix", "repo": "nix",
"rev": "c152c2767a262b772c912287e1c2d85173b4781c", "rev": "87ab3c0ea4e6f85e7b902050365bb75cf2836fbb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -830,7 +955,7 @@
}, },
"nixified-ai": { "nixified-ai": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts_2",
"hercules-ci-effects": "hercules-ci-effects", "hercules-ci-effects": "hercules-ci-effects",
"invokeai-src": "invokeai-src", "invokeai-src": "invokeai-src",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
@@ -868,15 +993,15 @@
"nixos-wsl": { "nixos-wsl": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1709980437, "lastModified": 1715237610,
"narHash": "sha256-rp1MwfRaZl7TPM4E5i1HxQGJCCfMcIa7dOzTX3SW7ro=", "narHash": "sha256-/ZeWQ4mL3DfHsbTZYc80qMrL4vBfENP0RiGv2KrCrEo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "e0b9e6c8ff35c7a28cb6baa02d85a9737a2ee4e9", "rev": "61fe33f4194bbbc48c090a2e79f4eb61b47c9b75",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -919,11 +1044,11 @@
}, },
"nixpkgs-regression_2": { "nixpkgs-regression_2": {
"locked": { "locked": {
"lastModified": 1710455890, "lastModified": 1715484633,
"narHash": "sha256-Ecfz+YhCEtj0KZhI90fiW21QqneOd5HpvMeJGzlN72Y=", "narHash": "sha256-Es5etYksi9VsAZSBKZe4rdyi9L000MEx9lFb3TF6Eo8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "30ccdc28ecb2060cfe01d679aa8a4304631a41b5", "rev": "25e9a6d07dd142bafd94603208a59c107e8f2905",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -966,11 +1091,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1707514827, "lastModified": 1714782413,
"narHash": "sha256-Y+wqFkvikpE1epCx57PsGw+M1hX5aY5q/xgk+ebDwxI=", "narHash": "sha256-tbg0MEuKaPcUrnmGCu4xiY5F+7LW2+ECPKVAJd2HLwM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "20f65b86b6485decb43c5498780c223571dd56ef", "rev": "651b4702e27a388f0f18e1b970534162dec09aff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -982,11 +1107,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1710272261, "lastModified": 1715266358,
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", "rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1013,6 +1138,22 @@
} }
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": {
"lastModified": 1709703039,
"narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1686874404, "lastModified": 1686874404,
"narHash": "sha256-u2Ss8z+sGaVlKtq7sCovQ8WvXY+OoXJmY1zmyxITiaY=", "narHash": "sha256-u2Ss8z+sGaVlKtq7sCovQ8WvXY+OoXJmY1zmyxITiaY=",
@@ -1028,7 +1169,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_8": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1682134069, "lastModified": 1682134069,
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=", "narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
@@ -1117,6 +1258,58 @@
"url": "https://hackage.haskell.org/package/ormolu-0.7.1.0/ormolu-0.7.1.0.tar.gz" "url": "https://hackage.haskell.org/package/ormolu-0.7.1.0/ormolu-0.7.1.0.tar.gz"
} }
}, },
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
"nix"
],
"flake-utils": "flake-utils_2",
"gitignore": [
"nix"
],
"nixpkgs": [
"nix",
"nixpkgs"
],
"nixpkgs-stable": [
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712897695,
"narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"railbird-secrets": {
"inputs": {
"agenix": "agenix_2",
"flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1718069159,
"narHash": "sha256-L66mczMl8BPLwZrTVKrXMZRyxHiPvA3CHywbsQyFHW0=",
"ref": "refs/heads/master",
"rev": "609f1d32fd1112068d97df0f7d4de82cec878002",
"revCount": 52,
"type": "git",
"url": "ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git"
},
"original": {
"type": "git",
"url": "ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git"
}
},
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
@@ -1133,8 +1326,9 @@
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"nixpkgs-regression": "nixpkgs-regression_2", "nixpkgs-regression": "nixpkgs-regression_2",
"notifications-tray-icon": "notifications-tray-icon", "notifications-tray-icon": "notifications-tray-icon",
"railbird-secrets": "railbird-secrets",
"status-notifier-item": "status-notifier-item", "status-notifier-item": "status-notifier-item",
"systems": "systems_4", "systems": "systems_6",
"taffybar": "taffybar", "taffybar": "taffybar",
"vscode-server": "vscode-server", "vscode-server": "vscode-server",
"xmonad": "xmonad", "xmonad": "xmonad",
@@ -1310,6 +1504,36 @@
"type": "github" "type": "github"
} }
}, },
"systems_7": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_8": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"taffybar": { "taffybar": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@@ -1334,11 +1558,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1706639324, "lastModified": 1714656757,
"narHash": "sha256-O5T4/1+dERQitmA6pwcP67/tREcJQ7KuATD8kGiB2Es=", "narHash": "sha256-OZNPY2LNBm+NkIHqo8SX2f/BfuwqkQIGYePkiAmz2YA=",
"owner": "taffybar", "owner": "taffybar",
"repo": "taffybar", "repo": "taffybar",
"rev": "9c8540a56432db6555755a9a649b4874833520ed", "rev": "a82a8a0cffb34b5eae38e46d88f02641bf8a8fe5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1366,11 +1590,11 @@
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1710272261, "lastModified": 1715266358,
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", "rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1382,15 +1606,15 @@
}, },
"vscode-server": { "vscode-server": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_5", "flake-utils": "flake-utils_7",
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1709622318, "lastModified": 1713958148,
"narHash": "sha256-bTscF0366xtoIXgH7Zq+Mn0mpX3w4h/2xKpHiYMyLNc=", "narHash": "sha256-8PDNi/dgoI2kyM7uSiU4eoLBqUKoA+3TXuz+VWmuCOc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-vscode-server", "repo": "nixos-vscode-server",
"rev": "d0ed9b8cf1f0a71f110df9119489ab047e0726bd", "rev": "fc900c16efc6a5ed972fb6be87df018bcf3035bc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1413,11 +1637,11 @@
"unstable": "unstable" "unstable": "unstable"
}, },
"locked": { "locked": {
"lastModified": 1710184205, "lastModified": 1714229485,
"narHash": "sha256-vcDr/l0dohzk1ZtWdMGK9j7QUNS7RpdwmA1Mku/r6CY=", "narHash": "sha256-AOy87dJL0T9wSe1kM0tTzFlV++JwmoGW4BfBXzIUbsI=",
"owner": "xmonad", "owner": "xmonad",
"repo": "xmonad", "repo": "xmonad",
"rev": "746880e9b9bb4eecc6e89e26f760cfbdf1464fed", "rev": "cde1a25bca9b7aeeb24af73588221f5f54ae770b",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -1,5 +1,8 @@
{ {
inputs = { inputs = {
railbird-secrets = {
url = "git+ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git";
};
nixos-hardware = { url = "github:colonelpanic8/nixos-hardware"; }; nixos-hardware = { url = "github:colonelpanic8/nixos-hardware"; };
nixpkgs = { nixpkgs = {
@@ -152,7 +155,10 @@
inherit inputs machineNames; inherit inputs machineNames;
makeEnable = (import ./make-enable.nix) nixpkgs.lib; makeEnable = (import ./make-enable.nix) nixpkgs.lib;
keys = (import ./keys.nix); keys = (import ./keys.nix);
usersInfo = (import ./users.nix) { pkgs = { zsh = "zsh"; }; keys = keys; }; usersInfo = (import ./users.nix) {
pkgs = { zsh = "zsh"; };
inherit keys inputs system;
};
realUsers = (builtins.attrNames realUsers = (builtins.attrNames
(nixpkgs.lib.filterAttrs (nixpkgs.lib.filterAttrs
(_: value: (builtins.elem "isNormalUser" (builtins.attrNames value)) && value.isNormalUser) usersInfo.users.users) (_: value: (builtins.elem "isNormalUser" (builtins.attrNames value)) && value.isNormalUser) usersInfo.users.users)
@@ -171,7 +177,6 @@
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
]; ];
extra-substituters = [ extra-substituters = [
"http://1896Folsom.duckdns.org"
"http://192.168.1.26:5050" "http://192.168.1.26:5050"
]; ];
extra-trusted-public-keys = [ extra-trusted-public-keys = [

View File

@@ -1,7 +1,7 @@
{ config, makeEnable, ... }: { config, makeEnable, ... }:
makeEnable config "modules.gnome" false { makeEnable config "modules.gnome" false {
services.xserver = { services.xserver = {
desktopManager.gnome3.enable = true; desktopManager.gnome.enable = true;
displayManager.gdm.enable = true; displayManager.gdm.enable = true;
}; };
} }

View File

@@ -1,4 +1,5 @@
rec { rec {
giteaSecret = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHRNHlKPGVnOATsbnkPccyK+C15TWGKbBwqNKt0UcQ81 imalison@adele";
hostKeys = [ hostKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG3UqIYs/NY0okKuiIO+dU2OM7A8vv3b6//GedagvLoX ryzen-shine.local" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG3UqIYs/NY0okKuiIO+dU2OM7A8vv3b6//GedagvLoX ryzen-shine.local"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINFbM1sL/vlDhrqPV1OMIGi4dKG0tMKhWSXx95ccbfyM biskcomp.local" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINFbM1sL/vlDhrqPV1OMIGi4dKG0tMKhWSXx95ccbfyM biskcomp.local"
@@ -21,10 +22,11 @@ rec {
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMCJ08qswd3OoApAIHQwojEUJ4sre89vSngbM3x5pBP2 imalison@jay-lenovo.local" # Kat's Lenovo Legion "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMCJ08qswd3OoApAIHQwojEUJ4sre89vSngbM3x5pBP2 imalison@jay-lenovo.local" # Kat's Lenovo Legion
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOVGIGnpkU7HNQ/zl/Ffi562M+laWY9/yIjB63BCMiTS kat@nixcomp.local" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOVGIGnpkU7HNQ/zl/Ffi562M+laWY9/yIjB63BCMiTS kat@nixcomp.local"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO3tlMePru6ZlSuf8yUii3N1dy3WwJnSQAt3EgETkctK kat@jay-lenovo.local" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO3tlMePru6ZlSuf8yUii3N1dy3WwJnSQAt3EgETkctK kat@jay-lenovo.local"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFrOYD3ReFc2+xFUylBFHREcm1lO7BRJGW5JrOoY3I8s ivanm@strixy-minaj" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFrOYD3ReFc2+xFUylBFHREcm1lO7BRJGW5JrOoY3I8s ivanm@strixi-minaj"
]; ];
deanKeys = [ deanKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICDvbEVL+y7eV4+mtxOuHwyomBBQ6uYMesctstua20+e deanwenstrand@deans-mbp-2.lan" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICDvbEVL+y7eV4+mtxOuHwyomBBQ6uYMesctstua20+e deanwenstrand@deans-mbp-2.lan"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFeXvPyHIYBPtn6QJtOrjlBUsZjDonVRfmWqTTM2ITWx nixos@nixos"
]; ];
alexKeys = [ alexKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP2SQkJenAX67Ze99SKOVpKDD1XvAZnxQ8RLP0dL/Ej2 alexm@MALISONSERVER" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP2SQkJenAX67Ze99SKOVpKDD1XvAZnxQ8RLP0dL/Ej2 alexm@MALISONSERVER"
@@ -50,4 +52,7 @@ rec {
"AAAAB3NzaC1yc2EAAAADAQABAAACAQC4ayU9sly58EHQ2YdrnoJ5o0mFD8I8UiDvN3kVh6oSMMQ9wkVzLUY6wUzlc0uq3P/OYco9mURMt83C+lY4UC+jvN09nIEHV7yVJWsKV3ntmnEqM63e9cOWnpC9XA1MSha7xrf9DaO/doxST4fY6ixZA+nbE0bFgNTqyjzdya7pCamAdnPqKqwUEha+0KfpA8TJlrfgrDLd65f2/+jLU8fhTkU6yhrJ9Piq7C+RwVTu/dlrp50PNirfQRSa7vUPNS8Y973XtK6jzB/xS2Qc6iGJ+4QcCy6lgu2xksO/MNIimZYGOCP2yx6/GDp/gnOlAktrJ3flMycJdEHkZVH61HfQV76O/mY3tck/SiCwhuNxXw0uh9wf4UO8JHlnJcsIsBkSBemJsxQul+G7kV4EV/gqW/iO5U2nKmDqbwNWigO9mN44LqBOwsnAnu78kiSE8sNCEdSy/qVWloBw4VyT/emvmTwP1okh/CKNnu0/HmfSNL6Vib1XuvKSPvrUIOLMrSeRdtu85LrWaS0CvKEoMrIgpvc+3jHtdbxwINE3JBGrbXvfe20CuHl6Fx0ONkhirRmrjG7iUjV/4c6nS2aguPVsGi7q3GYvtz7cNEe3XbfpZaHzrCncnoQPbnSDLjHdeZf4O5Aew6iOwwkpgBBDA3lJO55ujq2vNbgkpH3hmQjltQ==" "AAAAB3NzaC1yc2EAAAADAQABAAACAQC4ayU9sly58EHQ2YdrnoJ5o0mFD8I8UiDvN3kVh6oSMMQ9wkVzLUY6wUzlc0uq3P/OYco9mURMt83C+lY4UC+jvN09nIEHV7yVJWsKV3ntmnEqM63e9cOWnpC9XA1MSha7xrf9DaO/doxST4fY6ixZA+nbE0bFgNTqyjzdya7pCamAdnPqKqwUEha+0KfpA8TJlrfgrDLd65f2/+jLU8fhTkU6yhrJ9Piq7C+RwVTu/dlrp50PNirfQRSa7vUPNS8Y973XtK6jzB/xS2Qc6iGJ+4QcCy6lgu2xksO/MNIimZYGOCP2yx6/GDp/gnOlAktrJ3flMycJdEHkZVH61HfQV76O/mY3tck/SiCwhuNxXw0uh9wf4UO8JHlnJcsIsBkSBemJsxQul+G7kV4EV/gqW/iO5U2nKmDqbwNWigO9mN44LqBOwsnAnu78kiSE8sNCEdSy/qVWloBw4VyT/emvmTwP1okh/CKNnu0/HmfSNL6Vib1XuvKSPvrUIOLMrSeRdtu85LrWaS0CvKEoMrIgpvc+3jHtdbxwINE3JBGrbXvfe20CuHl6Fx0ONkhirRmrjG7iUjV/4c6nS2aguPVsGi7q3GYvtz7cNEe3XbfpZaHzrCncnoQPbnSDLjHdeZf4O5Aew6iOwwkpgBBDA3lJO55ujq2vNbgkpH3hmQjltQ=="
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBEBce6E/XCdo8+dC4PPyyTsO/Z0BZxuz0IrTLaGehrT weitzman.micah@gmail.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBEBce6E/XCdo8+dC4PPyyTsO/Z0BZxuz0IrTLaGehrT weitzman.micah@gmail.com"
]; ];
benKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAJ6lD0c+frh2vzQjvsrsmJpwM1ovaY59m5NNPml5G+E benjamin.j.corner@gmail.com"
];
} }

View File

@@ -0,0 +1,39 @@
{ lib, pkgs, config, inputs, forEachUser, ... }:
{
imports = [
../configuration.nix
];
services.xserver.enable = true;
environment.systemPackages = with pkgs; [
sublime
vlc
];
modules.desktop.enable = false;
modules.plasma.enable = false;
imalison.nixOverlay.enable = false;
modules.wsl.enable = true;
networking.hostName = "bencbox";
wsl.defaultUser = "ben";
system.stateVersion = "22.05";
home-manager.users = forEachUser {
home.stateVersion = "22.05";
};
users.users.ben = {
extraGroups = [
"audio"
"adbusers"
"disk"
"docker"
"networkmanager"
"openrazer"
"plugdev"
"syncthing"
"systemd-journal"
"video"
] ++ ["wheel"];
};
}

View File

@@ -72,13 +72,13 @@ in
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."/" = { locations."/" = {
proxyPass = "http://192.168.1.26:3090"; proxyPass = "http://192.168.1.20:3090";
}; };
}; };
"syncthing.railbird.ai" = { "syncthing.railbird.ai" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
root = "/var/lib/syncthing/sync"; root = "/var/lib/syncthing/railbird";
locations."/" = { locations."/" = {
extraConfig = '' extraConfig = ''
autoindex on; autoindex on;
@@ -98,7 +98,7 @@ in
}; };
services.home-assistant = { services.home-assistant = {
enable = true; enable = false;
extraComponents = [ extraComponents = [
# Components required to complete the onboarding # Components required to complete the onboarding
"met" "met"

View File

@@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, forEachUser, ... }:
{ {
imports = [ imports = [
@@ -7,7 +7,7 @@
modules.base.enable = true; modules.base.enable = true;
modules.desktop.enable = true; modules.desktop.enable = true;
modules.xmonad.enable = true; modules.xmonad.enable = false;
modules.extra.enable = false; modules.extra.enable = false;
modules.code.enable = true; modules.code.enable = true;
modules.games.enable = false; modules.games.enable = false;
@@ -34,29 +34,15 @@
services.xserver.libinput.enable = true; services.xserver.libinput.enable = true;
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/58218a04-3ba1-4295-86bb-ada59f75e3b6"; device = "/dev/disk/by-uuid/36864608-8e74-42b8-a075-27b59ef2701d";
fsType = "ext4"; fsType = "ext4";
}; };
boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/8142784e-45c6-4a2b-91f1-09df741ac00f";
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/36E1-BE93"; device = "/dev/disk/by-uuid/36E1-BE93";
fsType = "vfat"; fsType = "vfat";
}; };
systemd.services.resume-fix = {
description = "Fixes acpi immediate resume after suspend";
wantedBy = [ "multi-user.target" "post-resume.target" ];
after = [ "multi-user.target" "post-resume.target" ];
script = ''
if ${pkgs.gnugrep}/bin/grep -q '\bXHC\b.*\benabled\b' /proc/acpi/wakeup; then
echo XHC > /proc/acpi/wakeup
fi
'';
serviceConfig.Type = "oneshot";
};
swapDevices = [ swapDevices = [
{ {
device = "/swapfile"; device = "/swapfile";
@@ -65,10 +51,12 @@
} }
]; ];
networking.hostName = "ivanm-dfinity-razer"; networking.hostName = "david-blade";
nix.settings.maxJobs = lib.mkDefault 12; home-manager.users = forEachUser {
home.stateVersion = "24.05";
};
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
system.stateVersion = "18.03"; system.stateVersion = "24.05";
} }

View File

@@ -0,0 +1,21 @@
{ lib, pkgs, config, inputs, forEachUser, ... }:
{
imports = [
../configuration.nix
];
services.xserver.enable = true;
environment.systemPackages = with pkgs; [sublime];
modules.desktop.enable = false;
modules.plasma.enable = false;
imalison.nixOverlay.enable = false;
modules.wsl.enable = true;
networking.hostName = "dean-zephyrus";
wsl.defaultUser = "dean";
system.stateVersion = "22.05";
home-manager.users = forEachUser {
home.stateVersion = "22.05";
};
}

View File

@@ -33,8 +33,6 @@
services.xserver = { services.xserver = {
enable = true; enable = true;
libinput.enable = true; libinput.enable = true;
displayManager.sddm.enable = true;
desktopManager.plasma5.enable = true;
videoDrivers = [ "amdgpu" ]; videoDrivers = [ "amdgpu" ];
}; };

View File

@@ -45,6 +45,10 @@
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [
{ device = "/dev/disk/by-uuid/598e9aa1-4940-4410-a2fa-3dfd8b7d2c0d"; }
];
home-manager.users = forEachUser { home-manager.users = forEachUser {
home.stateVersion = "23.11"; home.stateVersion = "23.11";
}; };

View File

@@ -5,8 +5,12 @@
]; ];
features.full.enable = true; features.full.enable = true;
modules.cache-server.enable = true; modules.cache-server = {
enable = true;
port = 3090;
};
modules.gitea-runner.enable = true; modules.gitea-runner.enable = true;
modules.vscode.enable = true;
networking.hostName = "nixquick"; networking.hostName = "nixquick";

View File

@@ -30,29 +30,6 @@
services.autorandr = { services.autorandr = {
enable = true; enable = true;
profiles = {
"1896Office" = {
fingerprint = {
DP-0 = "00ffffffffffff0010ace4a153364b300c200104b55123783bfce1b04d3bb8250e505421080001010101010101010101010101010101e77c70a0d0a029503020150829623100001a000000ff0023473749594d78677741413052000000fd0001afffff63010a202020202020000000fc0044656c6c20415733343233445702d8020320f12309070183010000654b04000101e305c000e2006ae6060501634b004ed470a0d0a046503020e50c29623100001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009970127903000f000aa4140e0e07012045000002010d310cdb4dbd13b85b620e01455403013c520101046f0d9f002f801f009f0554004c000400663801046f0d9f002f801f009f0566005e0004008b8101046f0d9f002f801f009f057e007600040000000000000000000000000000000000000000000000000000000000005f90";
HDMI-0 = "00ffffffffffff0010ac67d0534d39312d1a0103803c2278ee4455a9554d9d260f5054a54b00b300d100714fa9408180778001010101565e00a0a0a029503020350055502100001a000000ff00483759434336423831394d530a000000fc0044454c4c205532373135480a20000000fd0038561e711e000a202020202020019e020322f14f1005040302071601141f1213202122230907078301000065030c001000023a801871382d40582c250055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e9600555021000018483f00ca808030401a50130055502100001e00000094";
};
config = {
DP-0 = {
enable = true;
mode = "3440x1440";
rate = "143.97";
position = "0x1440";
primary = true;
};
HDMI-0 = {
enable = true;
rate = "59.95";
mode = "2560x1440";
position = "440x0";
};
};
};
};
}; };
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
@@ -97,7 +74,7 @@
options = [ "nofail" ]; options = [ "nofail" ];
}; };
swapDevices =[ swapDevices = [
{ device = "/dev/disk/by-uuid/f719b44e-295a-4909-9a60-84f87acb7f77"; } { device = "/dev/disk/by-uuid/f719b44e-295a-4909-9a60-84f87acb7f77"; }
]; ];

View File

@@ -0,0 +1,34 @@
{ lib, pkgs, config, inputs, forEachUser, ... }:
{
imports = [
../configuration.nix
];
modules.wsl.enable = true;
networking.hostName = "strixi-minaj-wsl";
wsl.defaultUser = "imalison";
system.stateVersion = "23.11"; # Did you read the comment?
home-manager.users = forEachUser {
home.stateVersion = "23.11";
};
programs.gnupg = {
agent = {
pinentryPackage = pkgs.pinentry-curses;
enable = true;
enableSSHSupport = true;
};
};
nixpkgs.config.permittedInsecurePackages = [
"openssl-1.0.2u"
"electron-12.2.3"
"etcher"
"electron-19.1.9"
"openssl-1.1.1w"
"nix-2.16.2"
];
}

View File

@@ -57,7 +57,7 @@
[ { device = "/dev/disk/by-uuid/27f277a0-b552-43a0-904d-625e48922bb9"; } [ { device = "/dev/disk/by-uuid/27f277a0-b552-43a0-904d-625e48922bb9"; }
]; ];
networking.hostName = "strixy-minaj"; networking.hostName = "strixi-minaj";
powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View File

@@ -29,10 +29,11 @@
keep-derivations = true; keep-derivations = true;
substituters = [ substituters = [
"https://cache.nixos.org" "https://cache.nixos.org"
"https://cache.railbird.ai?priority=45" "https://cuda-maintainers.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"cache.railbird.ai:KhnvcouxtIU2zxUcjJsm4bUK3o1S3p8xMf9qfZGF7/A=" "cache.railbird.ai:KhnvcouxtIU2zxUcjJsm4bUK3o1S3p8xMf9qfZGF7/A="
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
]; ];
nix-path = nixPath; nix-path = nixPath;
}; };

View File

@@ -1,5 +1,5 @@
final: prev: { final: prev: {
rofi-systemd = prev.rofi-systemd.overrideAttrs(_: { rofi-systemd = prev.rofi-systemd.overrideAttrs (_: {
src = prev.fetchFromGitHub { src = prev.fetchFromGitHub {
repo = "rofi-systemd"; repo = "rofi-systemd";
owner = "IvanMalison"; owner = "IvanMalison";
@@ -8,7 +8,7 @@ final: prev: {
}; };
}); });
git-sync = prev.git-sync.overrideAttrs(_: { git-sync = prev.git-sync.overrideAttrs (_: {
src = prev.fetchFromGitHub { src = prev.fetchFromGitHub {
repo = "git-sync"; repo = "git-sync";
owner = "IvanMalison"; owner = "IvanMalison";
@@ -17,24 +17,24 @@ final: prev: {
}; };
}); });
picom = prev.picom.overrideAttrs(old: { picom = prev.picom.overrideAttrs (old: {
src = prev.fetchFromGitHub { src = prev.fetchFromGitHub {
repo = "picom"; repo = "picom";
owner = "dccsillag"; owner = "dccsillag";
rev = "51b21355696add83f39ccdb8dd82ff5009ba0ae5"; rev = "51b21355696add83f39ccdb8dd82ff5009ba0ae5";
sha256 = "sha256-crCwRJd859DCIC0pEerpDqdX2j8ZrNAzVaSSB3mTPN8=="; sha256 = "sha256-crCwRJd859DCIC0pEerpDqdX2j8ZrNAzVaSSB3mTPN8==";
}; };
nativeBuildInputs = old.nativeBuildInputs ++ [ final.pcre ]; nativeBuildInputs = old.nativeBuildInputs ++ [final.pcre];
}); });
expressvpn = prev.expressvpn.overrideAttrs(_: { expressvpn = prev.expressvpn.overrideAttrs (_: {
src = prev.fetchurl { src = prev.fetchurl {
url = "https://www.expressvpn.works/clients/linux/expressvpn_3.46.0.7-1_amd64.deb"; url = "https://www.expressvpn.works/clients/linux/expressvpn_3.46.0.7-1_amd64.deb";
hash = "sha256-v0rr1s32jj79A8IGfJgSGJVlz7rSnZYn4ealOpqee0w="; hash = "sha256-v0rr1s32jj79A8IGfJgSGJVlz7rSnZYn4ealOpqee0w=";
}; };
}); });
gnupg_2_4_0 = prev.gnupg.overrideAttrs(_: rec { gnupg_2_4_0 = prev.gnupg.overrideAttrs (_: rec {
pname = "gnupg"; pname = "gnupg";
# 2.4.1 breaks emacs # 2.4.1 breaks emacs
version = "2.4.0"; version = "2.4.0";
@@ -49,6 +49,24 @@ final: prev: {
withTreeSitter = true; withTreeSitter = true;
}; };
python-with-my-packages = let
my-python-packages = python-packages:
with python-packages; [
argcomplete
appdirs
ipdb
ipython
numpy
openpyxl
pip
requests
tox
virtualenv
virtualenvwrapper
];
in
final.python311.withPackages my-python-packages;
# gitea = prev.gitea.overrideAttrs(_: { # gitea = prev.gitea.overrideAttrs(_: {
# src = prev.fetchFromGitHub { # src = prev.fetchFromGitHub {
# repo = "gitea"; # repo = "gitea";

View File

@@ -1,7 +1,7 @@
{ config, makeEnable, ... }: { config, makeEnable, ... }:
makeEnable config "modules.plasma" true { makeEnable config "modules.plasma" true {
services.displayManager.sddm.enable = true;
services.xserver = { services.xserver = {
desktopManager.plasma5.enable = true; desktopManager.plasma5.enable = true;
displayManager.sddm.enable = true;
}; };
} }

View File

@@ -1,5 +1,6 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
security.pam.sshAgentAuth.enable = true;
services.avahi = { services.avahi = {
enable = true; enable = true;
nssmdns4 = true; nssmdns4 = true;
@@ -19,13 +20,15 @@
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
AllowAgentForwarding = true;
AllowTcpForwarding = true;
PasswordAuthentication = false; PasswordAuthentication = false;
X11Forwarding = true; X11Forwarding = true;
}; };
}; };
programs.ssh = { programs.ssh = {
forwardX11 = true; forwardX11 = false;
setXAuthLocation = true; setXAuthLocation = true;
knownHosts = { knownHosts = {
github = { github = {

View File

@@ -15,8 +15,8 @@ let
railbird-sf = { id = "5F4FPJM-KRBFVIH-CTTB2NC-7CPVGAM-CONMH2Q-SQPRODO-CWKRFPF-HVN4AAD"; }; railbird-sf = { id = "5F4FPJM-KRBFVIH-CTTB2NC-7CPVGAM-CONMH2Q-SQPRODO-CWKRFPF-HVN4AAD"; };
dean = { id = "RIVW4FP-NZNGGGD-4ET26IC-R6CZHEU-4EBIDHX-U756VWB-W7EM3LE-3YQ6YA3"; }; dean = { id = "RIVW4FP-NZNGGGD-4ET26IC-R6CZHEU-4EBIDHX-U756VWB-W7EM3LE-3YQ6YA3"; };
mixos = { id = "7DMMUDT-CO33EMS-LQW65MX-3BVYDBT-ZZWDJC6-SWEF6SW-ICUMWOE-ZC4IBQK"; }; mixos = { id = "7DMMUDT-CO33EMS-LQW65MX-3BVYDBT-ZZWDJC6-SWEF6SW-ICUMWOE-ZC4IBQK"; };
strixi-minaj = { id = "DOAEFFI-W6EZY3K-GDUHDLX-6DQPVFC-XU3G65X-5KX6RKK-EMF7ZT7-YKKKOAM"; }; strixi-minaj-wsl = { id = "DOAEFFI-W6EZY3K-GDUHDLX-6DQPVFC-XU3G65X-5KX6RKK-EMF7ZT7-YKKKOAM"; };
strixi-minaj-wsl = { id = "IF76WOS-WVYFAQG-ZZMIT3R-ZR6EQQH-YQP3FGZ-BJ3LJKO-56FK2XA-UREADQM"; }; strixi-minaj = { id = "IF76WOS-WVYFAQG-ZZMIT3R-ZR6EQQH-YQP3FGZ-BJ3LJKO-56FK2XA-UREADQM"; };
}; };
allDevices = builtins.attrNames devices; allDevices = builtins.attrNames devices;
in in
@@ -29,6 +29,12 @@ makeEnable config "modules.syncthing" true {
mkdir -p /var/lib/syncthing/railbird mkdir -p /var/lib/syncthing/railbird
''; '';
}; };
systemd.services.syncthing = {
serviceConfig = {
AmbientCapabilities = "CAP_CHOWN";
CapabilityBoundingSet = "CAP_CHOWN";
};
};
services.syncthing = { services.syncthing = {
enable = true; enable = true;
settings = { settings = {
@@ -37,11 +43,13 @@ makeEnable config "modules.syncthing" true {
sync = { sync = {
path = "~/sync"; path = "~/sync";
devices = allDevices; devices = allDevices;
ignorePerms = true;
copyOwnershipFromParent = true; copyOwnershipFromParent = true;
}; };
railbird = { railbird = {
path = "~/railbird"; path = "~/railbird";
devices = allDevices; devices = allDevices;
ignorePerms = true;
copyOwnershipFromParent = true; copyOwnershipFromParent = true;
}; };
}; };

View File

@@ -1,4 +1,4 @@
{ pkgs, keys, ... }: { pkgs, keys, inputs, system, ... }:
let let
extraGroups = [ extraGroups = [
"audio" "audio"
@@ -27,6 +27,7 @@ in
extraGroups = [ "syncthing" "wheel" ]; extraGroups = [ "syncthing" "wheel" ];
home = "/var/lib/syncthing"; home = "/var/lib/syncthing";
createHome = true; createHome = true;
openssh.authorizedKeys.keys = [giteaSecret] ++ kanivanKeys;
}; };
ivanm = userDefaults // { ivanm = userDefaults // {
extraGroups = extraGroupsWithWheel; extraGroups = extraGroupsWithWheel;
@@ -78,6 +79,21 @@ in
name = "micah"; name = "micah";
openssh.authorizedKeys.keys = kanivanKeys ++ micahKeys; openssh.authorizedKeys.keys = kanivanKeys ++ micahKeys;
}; };
unprivileged = userDefaults // {
extraGroups = ["syncthing"];
name = "unprivileged";
openssh.authorizedKeys.keys = [giteaSecret] ++ kanivanKeys;
};
ben = userDefaults // {
inherit extraGroups;
name = "ben";
openssh.authorizedKeys.keys = benKeys ++ kanivanKeys;
};
railbird = userDefaults // {
inherit extraGroups;
name = "railbird";
openssh.authorizedKeys.keys = inputs.railbird-secrets.keys.railbirdDevKeys;
};
}; };
nix.sshServe = { nix.sshServe = {

View File

@@ -7,15 +7,16 @@ makeEnable config "modules.wsl" false {
modules.base.enable = false; modules.base.enable = false;
modules.desktop.enable = false; modules.desktop.enable = false;
modules.xmonad.enable = false; modules.xmonad.enable = false;
modules.plasma.enable = false;
# Update timezone automatically # Update timezone automatically
services.tzupdate.enable = true; services.tzupdate.enable = true;
wsl.wslConf.automount.root = "/mnt";
wsl = { wsl = {
enable = true; enable = true;
automountPath = "/mnt";
startMenuLaunchers = true; startMenuLaunchers = true;
nativeSystemd = true; nativeSystemd = true;
docker-native.enable = true;
}; };
} }

View File

@@ -1,4 +1,4 @@
{ config, pkgs, options, inputs, forEachUser, makeEnable, ... }: { config, pkgs, inputs, forEachUser, makeEnable, ... }:
makeEnable config "modules.xmonad" true { makeEnable config "modules.xmonad" true {
nixpkgs.overlays = with inputs; [ nixpkgs.overlays = with inputs; [
xmonad.overlay xmonad.overlay
@@ -104,7 +104,6 @@ makeEnable config "modules.xmonad" true {
}; };
settings = { settings = {
inactive-dim = 0.2;
focus-exclude = ["class_g ?= 'rofi'" "class_g ?= 'Steam'"]; focus-exclude = ["class_g ?= 'rofi'" "class_g ?= 'Steam'"];
rounded-corners-exclude = [ rounded-corners-exclude = [
"! name~=''" # Qtile == empty wm_class.. "! name~=''" # Qtile == empty wm_class..