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]
}
)
, ( "strixi-minaj"
, baseConfig { endWidgets = laptopEndWidgets }
)
, ( "jay-lenovo"
, baseConfig { endWidgets = laptopEndWidgets }
),
( "nixquick"
, baseConfig { endWidgets = [ myTray , myMpris ]
}
)
, ( "nixquick"
, baseConfig { endWidgets = [ myTray , myMpris ] }
)
]

View File

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

View File

@@ -361,6 +361,8 @@ but provide support for writing custom elisp.
*** shut-up
#+BEGIN_SRC emacs-lisp
(use-package shut-up
:demand t
:ensure (:inherit t :wait t)
:config
(defun imalison:shut-up-around (function &rest args)
(shut-up (apply function args))))
@@ -856,6 +858,7 @@ details.
(directory-files filepath))))
(use-package eshell
:ensure nil
:commands (eshell-parse-colon-path imalison:get-executables-on-path)
:config
(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.
#+BEGIN_SRC emacs-lisp
(use-package proced
:ensure nil
:defer t
:config
(progn
@@ -1376,6 +1380,7 @@ Paradox is a package.el extension. I have no use for it now that I use straight.
** server
#+BEGIN_SRC emacs-lisp
(use-package server
:ensure nil
:demand t
:config
(progn
@@ -1444,19 +1449,6 @@ The file server file for this emacs instance no longer exists.")
(use-package refine
:disabled t)
#+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
I don't have any use for this now that I use frames mode, but its an interesting idea.
#+BEGIN_SRC emacs-lisp
@@ -1521,11 +1513,10 @@ custom-set-faces in your custom file.
(use-package highlight-indent-guides
:commands highlight-indent-guides-mode
:diminish highlight-indent-guides-mode
:preface
(progn
(add-hook 'prog-mode-hook 'highlight-indent-guides-mode))
:demand t
:config
(progn
(add-hook 'prog-mode-hook 'highlight-indent-guides-mode)
(setq highlight-indent-guides-method 'fill)))
#+END_SRC
** 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.
#+BEGIN_SRC emacs-lisp
(use-package man
:ensure nil
:config
(progn
(defun imalison:fontify-man-page-buffer ()
@@ -1759,6 +1751,7 @@ bind-key and global-set-key forms.
#+END_SRC
** projectile
#+BEGIN_SRC emacs-lisp
(use-package projectile
:demand t
:bind (:map projectile-mode-map
@@ -1772,7 +1765,7 @@ bind-key and global-set-key forms.
(projectile-git-submodule-command nil)
(project-vc-merge-submodules nil)
(projectile-current-project-on-switch 'keep))
:preface
:config
(progn
(defmacro imalison:projectile-do-in-project (project-dir &rest forms)
`(imalison:with-default-directory ,project-dir
@@ -1804,9 +1797,7 @@ bind-key and global-set-key forms.
(write-region "" nil
(expand-file-name
(concat directory "/"
(nth 0 file-info) "/.projectile")))))))
:config
(progn
(nth 0 file-info) "/.projectile"))))))
(projectile-global-mode)
(diminish 'projectile-mode)))
#+END_SRC
@@ -1855,7 +1846,8 @@ bind-key and global-set-key forms.
** avy
#+BEGIN_SRC emacs-lisp
(use-package avy
:preface
:after emit
:config
(progn
(emit-prefix-selector imalison:avy
avy-goto-word-1
@@ -1867,11 +1859,13 @@ bind-key and global-set-key forms.
** ace-window
#+BEGIN_SRC emacs-lisp
(use-package ace-window
:preface
:after emit
:config
(progn
(emit-prefix-selector imalison:ace-window
ace-select-window
ace-swap-window)
:config (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l))
(setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)))
:bind ("C-c w" . imalison:ace-window))
#+END_SRC
** neotree
@@ -2026,10 +2020,12 @@ Neotree is useless with frame mode for now, so I've disabled it.
** company
#+BEGIN_SRC emacs-lisp
(use-package company
:after emit
:commands company-mode imalison:company
:bind (("C-\\" . imalison:company))
:config
(progn
(add-hook 'prog-mode-hook (lambda () (company-mode t)))
(emit-prefix-selector imalison:company
company-complete
company-yasnippet)
@@ -2039,9 +2035,7 @@ Neotree is useless with frame mode for now, so I've disabled it.
:demand t
:config (company-prescient-mode +1))
(global-company-mode)
(diminish 'company-mode))
:init
(add-hook 'prog-mode-hook (lambda () (company-mode t))))
(diminish 'company-mode)))
#+END_SRC
*** company-flx
#+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
#+BEGIN_SRC emacs-lisp
(use-package align
:ensure nil
:bind ("C-c C-a" . imalison:align-regexp-hydra/body)
:config
(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
(use-package flycheck
:commands flycheck-mode
:init (add-hook 'prog-mode-hook 'flycheck-mode)
:defer 1
:config
(progn
(add-hook 'prog-mode-hook 'flycheck-mode)
(use-package flycheck-package
:disabled t
: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))
:diminish flycheck-mode)
#+END_SRC
* straight
#+BEGIN_SRC emacs-lisp
(use-package straight
:config
(setq straight-vc-git-auto-fast-forward t))
#+END_SRC
* auth-source
#+begin_src emacs-lisp
(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
*** go
#+BEGIN_SRC emacs-lisp
(use-package go-mode
:mode (("\\.go\\'" . go-mode))
:preface
(progn
(defun imalison:glide-novendor ()
(projectile-with-default-dir (projectile-project-root)
(shell-command-to-string "glide novendor")))
;; (use-package go-mode
;; :mode (("\\.go\\'" . go-mode))
;; :after emit
;; :config
;; (progn
;; (defun imalison:glide-novendor ()
;; (projectile-with-default-dir (projectile-project-root)
;; (shell-command-to-string "glide novendor")))
(defun imalison:go-mode-create-imenu-index ()
"Create and return an imenu index alist. Unlike the default
alist created by go-mode, this method creates an alist where
items follow a style that is consistent with other prog-modes."
(let* ((patterns '(("type" "^type *\\([^ \t\n\r\f]*\\)" 1)))
(type-index (imenu--generic-function patterns))
(func-index))
(save-excursion
(goto-char (point-min))
(while (re-search-forward go-func-meth-regexp (point-max) t)
(let* ((var (match-string-no-properties 1))
(func (match-string-no-properties 2))
(name (if var
(concat (substring var 0 -1) "." func)
func))
(beg (match-beginning 0))
(marker (copy-marker beg))
(item (cons name marker)))
(setq func-index (cons item func-index)))))
(nconc type-index (list (cons "func" func-index)))))
;; (defun imalison:go-mode-create-imenu-index ()
;; "Create and return an imenu index alist. Unlike the default
;; alist created by go-mode, this method creates an alist where
;; items follow a style that is consistent with other prog-modes."
;; (let* ((patterns '(("type" "^type *\\([^ \t\n\r\f]*\\)" 1)))
;; (type-index (imenu--generic-function patterns))
;; (func-index))
;; (save-excursion
;; (goto-char (point-min))
;; (while (re-search-forward go-func-meth-regexp (point-max) t)
;; (let* ((var (match-string-no-properties 1))
;; (func (match-string-no-properties 2))
;; (name (if var
;; (concat (substring var 0 -1) "." func)
;; func))
;; (beg (match-beginning 0))
;; (marker (copy-marker beg))
;; (item (cons name marker)))
;; (setq func-index (cons item func-index)))))
;; (nconc type-index (list (cons "func" func-index)))))
(defun imalison:go-workspace-path ()
(file-relative-name (projectile-project-root)
(concat (file-name-as-directory
(imalison:get-go-path)) "src")))
;; (defun imalison:go-workspace-path ()
;; (file-relative-name (projectile-project-root)
;; (concat (file-name-as-directory
;; (imalison:get-go-path)) "src")))
(defun imalison:install-current-go-project ()
(interactive)
(start-process
"go install" "go install log" "go" "install"
(concat (file-name-as-directory (imalison:go-workspace-path)) "...")))
;; (defun imalison:install-current-go-project ()
;; (interactive)
;; (start-process
;; "go install" "go install log" "go" "install"
;; (concat (file-name-as-directory (imalison:go-workspace-path)) "...")))
(defun imalison:get-go-path ()
(let ((environment-go-path (getenv "GOPATH")))
(if environment-go-path
(file-name-as-directory (car (s-split ":" environment-go-path)))
"~/go")))
;; (defun imalison:get-go-path ()
;; (let ((environment-go-path (getenv "GOPATH")))
;; (if environment-go-path
;; (file-name-as-directory (car (s-split ":" environment-go-path)))
;; "~/go")))
(defmacro imalison:get-go-src (&rest paths)
`(imalison:join-paths (imalison:get-go-path) "src" ,@paths))
;; (defmacro imalison:get-go-src (&rest paths)
;; `(imalison:join-paths (imalison:get-go-path) "src" ,@paths))
(imalison:let-advise-around imalison:advise-normal-go-command
(go-command "go"))
;; (imalison:let-advise-around imalison:advise-normal-go-command
;; (go-command "go"))
(defun imalison:go-mode-hook ()
(go-eldoc-setup)
(set (make-local-variable 'company-backends) '(company-go))
(make-local-variable 'projectile-globally-ignored-files)
(add-hook 'after-save-hook 'imalison:install-current-go-project nil
'yes-do-local)
(add-to-list 'projectile-globally-ignored-files
"vendor")))
:config
(progn
(use-package gotest
:demand t
:bind (:map go-mode-map
("C-c t" . imalison:gotest))
:preface
(progn
(emit-prefix-selector imalison:gotest
go-test-current-test
go-test-current-file)
;; (defun imalison:go-mode-hook ()
;; (go-eldoc-setup)
;; (set (make-local-variable 'company-backends) '(company-go))
;; (make-local-variable 'projectile-globally-ignored-files)
;; (add-hook 'after-save-hook 'imalison:install-current-go-project nil
;; 'yes-do-local)
;; (add-to-list 'projectile-globally-ignored-files
;; "vendor"))
;; (use-package gotest
;; :demand t
;; :after emit
;; :bind (:map go-mode-map
;; ("C-c t" . imalison:gotest))
;; :preface
;; (progn
;; (emit-prefix-selector imalison:gotest
;; go-test-current-test
;; go-test-current-file)
(defun imalison:add-expected-test-name-for-suite (suite-name test-name)
(if (> (length suite-name) 0)
(concat " -run Test" suite-name)
"")))
:config
(progn
(setq go-test-verbose t
go-test-additional-arguments-function
'imalison:add-expected-test-name-for-suite)))
(use-package company-go
:config (setq company-go-show-annotation t))
;; (defun imalison:add-expected-test-name-for-suite (suite-name test-name)
;; (if (> (length suite-name) 0)
;; (concat " -run Test" suite-name)
;; "")))
;; :config
;; (progn
;; (setq go-test-verbose t
;; go-test-additional-arguments-function
;; 'imalison:add-expected-test-name-for-suite)))
;; (use-package company-go
;; :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 'before-save-hook 'gofmt-before-save t)))
;; (add-hook 'go-mode-hook 'imalison:go-mode-hook)
;; (add-hook 'before-save-hook 'gofmt-before-save t)))
#+END_SRC
**** Show diffs of testify output
#+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
#+BEGIN_SRC emacs-lisp
(use-package elisp-slime-nav
:after emit
:commands elisp-slime-nav-mode
:config
(progn
(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)
(diminish 'elisp-slime-nav-mode)
:preface
(emit-prefix-selector imalison:elisp-slime-nav
elisp-slime-nav-find-elisp-thing-at-point
elisp-slime-nav-describe-elisp-thing-at-point)
elisp-slime-nav-describe-elisp-thing-at-point))
:bind (:map elisp-slime-nav-mode-map
("M-." . imalison:elisp-slime-nav)))
#+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.
#+BEGIN_SRC emacs-lisp
(use-package find-func
:ensure nil
:preface
(progn
(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
("C-c e" . macrostep-expand)))
#+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
Reduce indentation for some functions
#+BEGIN_SRC emacs-lisp
@@ -2505,6 +2500,7 @@ Reduce indentation for some functions
**** edebug
#+BEGIN_SRC emacs-lisp
(use-package edebug
:ensure nil
:defer t
:config
(progn (setq edebug-trace t)))
@@ -2543,6 +2539,7 @@ Reduce indentation for some functions
:commands (eros-mode)
:config
(progn
(add-hook 'emacs-lisp-mode-hook 'eros-mode)
(advice-add 'eval-defun :around 'eros-around-eval-defun)
(advice-add 'eval-last-sexp :around 'eros-around-eval-last-sexp))
:preface
@@ -2563,9 +2560,7 @@ Reduce indentation for some functions
(save-excursion
(end-of-defun)
(point))))
result))
(add-hook 'emacs-lisp-mode-hook 'eros-mode)))
result))))
#+END_SRC
**** Reevalute defvars when running eval-last-sexp
We noflet elisp--preceding-sexp to munge defvars into sexps only for
@@ -2583,27 +2578,10 @@ eval-last-sexp.
#+END_SRC
**** Init hook
#+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
**** Keybinds
#+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-x C-e") 'imalison:eval-last-sexp)
(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")
(add-hook 'clojure-mode-hook 'cider-mode)))
#+END_SRC
**** clj-refactor
#+BEGIN_SRC emacs-lisp
(use-package clj-refactor
:commands clj-refactor-mode)
#+END_SRC
*** scala
#+BEGIN_SRC emacs-lisp
(use-package scala-mode
@@ -2908,7 +2881,7 @@ The following is taken from [[https://github.com/syl20bnr/spacemacs/blob/a650877
#+END_SRC
*** C/C++
#+BEGIN_SRC emacs-lisp
(use-package cc-mode)
(use-package cc-mode :ensure nil)
#+END_SRC
*** C--
#+BEGIN_SRC emacs-lisp
@@ -3113,9 +3086,10 @@ My org-mode configuration now lives in its own file org-config.org.
** magit
#+BEGIN_SRC emacs-lisp
(use-package magit
:after emit
:commands magit-status
:bind (("C-x g" . imalison:magit-status))
:preface
:config
(progn
(emit-let-around imalison:magit-status-traditional
magit-status
@@ -3126,9 +3100,7 @@ My org-mode configuration now lives in its own file org-config.org.
imalison:magit-status-traditional)
(defun imalison:after-magit-visit-file (&rest args)
(when (derived-mode-p 'org-mode)
(org-show-context 'magit-goto))))
:config
(progn
(org-show-context 'magit-goto)))
(when frame-mode
(setq magit-commit-show-diff t))
(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-same-window-except-diff-v1)
(magit-auto-revert-mode)
(add-to-list 'org-show-context-detail '(magit-goto . lineage))
(advice-add 'magit-diff-visit-file :after 'imalison:after-magit-visit-file)
(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
:after magit)
#+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
#+BEGIN_SRC emacs-lisp
(use-package git-link
@@ -3288,14 +3245,6 @@ modeline and with excessive http requests to github.
gist-unstar gist-list-starred gist-fork))
#+END_SRC
* 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
#+BEGIN_SRC emacs-lisp
(use-package semantic
@@ -3331,6 +3280,29 @@ emr (emacs refactor) provides support for refactoring in many programming langua
(setq lsp-ui-doc-position 'bottom)))))
#+END_SRC
* 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
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
@@ -3338,6 +3310,7 @@ in term-mode. This makes term-mode 1000% more useful
#+BEGIN_SRC emacs-lisp
(use-package term
:demand t
:ensure nil
:preface
(progn
(defun imalison:avy-term (arg)
@@ -3402,6 +3375,7 @@ in term-mode. This makes term-mode 1000% more useful
#+BEGIN_SRC emacs-lisp
(use-package term-projectile
:bind ("C-c 7" . imalison:term-hydra-global/body)
:after emit
:commands
(term-projectile-backward
term-projectile-create-new
@@ -3412,6 +3386,12 @@ in term-mode. This makes term-mode 1000% more useful
term-projectile-switch)
:config
(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
term-projectile-forward
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
#+BEGIN_SRC emacs-lisp
(use-package narrow-indirect
:ensure nil
:init
(progn
(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)
(setq dtrt-indent-original-indent nil)
(dtrt-indent-adapt)))
:init (add-hook 'prog-mode-hook 'dtrt-indent-mode)
:config
(progn
(add-hook 'prog-mode-hook 'dtrt-indent-mode)
(setq dtrt-indent-active-mode-line-info " [⟼]")))
#+END_SRC
** indent-guide
@@ -3645,7 +3626,9 @@ Disabled because it makes it hard to redo things
** recentf
#+BEGIN_SRC emacs-lisp
(use-package recentf
:ensure nil
:demand t
:after shut-up
:config
(progn
(setq recentf-max-saved-items 1000
@@ -3741,6 +3724,7 @@ Not really sure what this is
#+BEGIN_SRC emacs-lisp
(use-package epg
:after shut-up
:ensure nil
:config
(shut-up
(epa-file-enable)))
@@ -3763,113 +3747,6 @@ Not really sure what this is
:disabled t ;; fails to load eieio on startup
)
#+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
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
@@ -3904,56 +3781,6 @@ This is useful with server mode when editing gmail messages. I think that it is
:notifier 'imalison:windows-toast-notify)
(setq alert-default-style 'windows-toast))))
#+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
#+BEGIN_SRC emacs-lisp
(use-package libmpdee
@@ -4084,23 +3911,24 @@ This also adds syntax highlighting for gradle
** jsx-mode
#+BEGIN_SRC emacs-lisp
(use-package jsx-mode
:ensure nil
:defer t)
#+END_SRC
** css
#+BEGIN_SRC emacs-lisp
(use-package css-mode
:ensure nil
:mode (("\\.css\\'" . css-mode)
("\\.rasi\\'" . css-mode)))
#+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
#+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
** hackernews
#+BEGIN_SRC emacs-lisp
@@ -4121,6 +3949,9 @@ Ensure all themes that I use are installed:
(progn
(setq solarized-high-contrast-mode-line t)))
(defun elpaca-function (pkg)
(eval `(elpaca ,pkg)))
(defvar-setq packages-appearance
'(monokai-theme zenburn-theme base16-theme molokai-theme moe-theme
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
cyberpunk-theme dracula-theme))
(mapcar 'straight-use-package packages-appearance)
(mapcar 'elpaca-function packages-appearance)
(use-package doom-themes
:defer t)
@@ -4284,14 +4115,15 @@ load-theme hook (See the heading below).
(unless imalison:appearance-setup-done
(unless (member imalison:dark-theme custom-enabled-themes)
(load-theme imalison:dark-theme t))
(doom-modeline-mode +1)
(apply 'imalison:appearance args)
(message "running appearance")
(doom-modeline-mode +1)
(setq imalison:default-font-size-pt (face-attribute 'default :height))
(setq imalison:appearance-setup-done t)))
(add-hook 'after-make-frame-functions 'imalison:appearance-setup-hook)
(add-hook 'after-init-hook 'imalison:appearance-setup-hook)
(add-hook 'elpaca-after-init-hook
(lambda () (add-hook 'after-make-frame-functions 'imalison:appearance-setup-hook)))
(add-hook 'elpaca-after-init-hook 'imalison:appearance-setup-hook)
#+END_SRC
* Post Init Custom
#+BEGIN_SRC emacs-lisp

View File

@@ -1,41 +1,28 @@
;; -*- 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-always-compile t)
(setq load-no-native t)
(setq no-native-compile t)
(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
straight-use-package-by-default t
straight-vc-git-default-protocol 'ssh)
(straight-use-package 'use-package)
(require 'use-package)
(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)
(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")))
(when (file-exists-p bench-file) (load bench-file)))
@@ -55,6 +42,9 @@
(setq mac-option-modifier 'meta)
(setq mac-command-modifier 'super))
(use-package transient
:demand t)
;; See https://github.com/magit/magit/discussions/4997 . Without this magit is broken.
(use-package magit
:demand t)
@@ -62,29 +52,56 @@
;; This seems to fix issues with helm not explicitly declaring its dependency on async
(use-package async :demand t)
(use-package s :demand t)
;; Without this, org can behave very strangely
(use-package org
:straight
:ensure
(org :type git :host github :repo "colonelpanic8/org-mode" :local-repo "org"
:branch "my-main"
:depth full :pre-build (straight-recipes-org-elpa--build) :build
:depth full
:build
:wait t
(:not autoloads) :files
(:defaults "lisp/*.el" ("etc/styles/" "etc/styles/*")))
:defer t)
(:defaults "lisp/*.el" ("etc/styles/" "etc/styles/*"))))
(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))
(org-babel-load-file
(concat (file-name-directory load-file-name) "README.org")))
(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"))))
(when imalison:do-benchmark (benchmark-init/deactivate))
;; (when imalison:do-benchmark (benchmark-init/deactivate))
;; Local Variables:
;; 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)
(alist-get 'python-mode apheleia-mode-alist))))
#+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
#+begin_src emacs-lisp
(use-package org-tempo
:straight nil
:ensure nil
:after org)
#+end_src
* Packages
@@ -938,9 +938,6 @@ alphanumeric characters only."
#+end_src
***** ui
#+begin_src emacs-lisp
(use-package emacs-http-server
:demand t)
(use-package org-roam-ui
:after org-roam
: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}
untracked = "!u() { git status -s | grep "??" | awk '{print $2}'; }; u"
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]
# Use custom `.gitignore` and `.gitattributes`

View File

@@ -6,6 +6,12 @@ import sys
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
def from_path(cls, path):
return cls(
@@ -46,11 +52,6 @@ class BrightnessManager(object):
return float(self.current_brightness) / self.max_brightness
IntelBrightnessManager = BrightnessManager.from_path(
"/sys/class/backlight/intel_backlight",
)
def build_parser():
parser = argparse.ArgumentParser(
description='Interact with macbook brightness',
@@ -70,6 +71,6 @@ def build_parser():
if __name__ == '__main__':
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:
print(int(IntelBrightnessManager.current_proportion * 100))

View File

@@ -33,10 +33,6 @@ makeEnable config "modules.base" true {
enable = true;
enableStrongSwan = true;
plugins = [ pkgs.networkmanager-l2tp pkgs.networkmanager-openvpn ];
extraConfig = ''
[main]
rc-manager=resolvconf
'';
};
# 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;
makeEnable = (import ../make-enable.nix) nixpkgs.lib;
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;
} // specialArgs // (import ../keys.nix);
});

View File

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

View File

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

View File

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

View File

@@ -27,6 +27,22 @@ with lib;
do
autoload "''${file##*/}"
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, ... }:
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;
@@ -31,6 +16,7 @@ in
emacs
fd
ffmpeg
bento4
file
gawk
gcc

328
nixos/flake.lock generated
View File

@@ -7,6 +7,30 @@
"nixpkgs": "nixpkgs",
"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": {
"lastModified": 1707830867,
"narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=",
@@ -43,6 +67,29 @@
"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": false,
"locked": {
@@ -108,6 +155,27 @@
}
},
"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": {
"nixpkgs-lib": [
"nixified-ai",
@@ -128,7 +196,7 @@
"type": "github"
}
},
"flake-parts_2": {
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"nixified-ai",
@@ -170,15 +238,12 @@
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
@@ -188,6 +253,24 @@
}
},
"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": {
"systems": "systems_3"
},
@@ -205,10 +288,28 @@
"type": "github"
}
},
"flake-utils_4": {
"flake-utils_5": {
"inputs": {
"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": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
@@ -223,9 +324,9 @@
"type": "github"
}
},
"flake-utils_5": {
"flake-utils_7": {
"inputs": {
"systems": "systems_6"
"systems": "systems_8"
},
"locked": {
"lastModified": 1681202837,
@@ -465,7 +566,7 @@
"haskell-language-server": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_4",
"fourmolu-011": "fourmolu-011",
"fourmolu-012": "fourmolu-012",
"gitignore": "gitignore",
@@ -500,7 +601,7 @@
"haskell-language-server_2": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_4",
"flake-utils": "flake-utils_6",
"fourmolu-011": "fourmolu-011_2",
"fourmolu-012": "fourmolu-012_2",
"gitignore": "gitignore_2",
@@ -512,7 +613,7 @@
"lsp": "lsp_2",
"lsp-test": "lsp-test_2",
"lsp-types": "lsp-types_2",
"nixpkgs": "nixpkgs_7",
"nixpkgs": "nixpkgs_8",
"ormolu-052": "ormolu-052_2",
"ormolu-07": "ormolu-07_2",
"stylish-haskell-0145": "stylish-haskell-0145_2"
@@ -534,7 +635,7 @@
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": "flake-parts_2",
"flake-parts": "flake-parts_3",
"nixpkgs": [
"nixified-ai",
"nixpkgs"
@@ -664,11 +765,33 @@
]
},
"locked": {
"lastModified": 1710452332,
"narHash": "sha256-+lKOoQ89fD6iz6Ro7Adml4Sx6SqQcTWII4t1rvVtdjs=",
"lastModified": 1715380449,
"narHash": "sha256-716+f9Rj3wjSyD1xitCv2FcYbgPz1WIVDj+ZBclH99Y=",
"owner": "nix-community",
"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"
},
"original": {
@@ -694,7 +817,7 @@
},
"locked": {
"lastModified": 1,
"narHash": "sha256-/j8RpaKS3M26QXE61bqjZPBiaPwEiO5P9pJ2imA1bD4=",
"narHash": "sha256-o42629VeuDMu2N76vrw2L8CIawLK3RP10W+M4e8qCCA=",
"path": "../dotfiles/config/taffybar",
"type": "path"
},
@@ -811,16 +934,18 @@
"nix": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"libgit2": "libgit2",
"nixpkgs": "nixpkgs_2",
"nixpkgs-regression": "nixpkgs-regression"
"nixpkgs-regression": "nixpkgs-regression",
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
"lastModified": 1710366336,
"narHash": "sha256-eJeZ3vMbuC351B6CH4mqcpuZJ9RgtdRcxvhd7X2++Nk=",
"lastModified": 1715361977,
"narHash": "sha256-j/PLYYGs+Gjge4JGYxMjOhWQEp+GB4Fdicetbpmp6n0=",
"owner": "NixOS",
"repo": "nix",
"rev": "c152c2767a262b772c912287e1c2d85173b4781c",
"rev": "87ab3c0ea4e6f85e7b902050365bb75cf2836fbb",
"type": "github"
},
"original": {
@@ -830,7 +955,7 @@
},
"nixified-ai": {
"inputs": {
"flake-parts": "flake-parts",
"flake-parts": "flake-parts_2",
"hercules-ci-effects": "hercules-ci-effects",
"invokeai-src": "invokeai-src",
"nixpkgs": "nixpkgs_3",
@@ -868,15 +993,15 @@
"nixos-wsl": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2",
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1709980437,
"narHash": "sha256-rp1MwfRaZl7TPM4E5i1HxQGJCCfMcIa7dOzTX3SW7ro=",
"lastModified": 1715237610,
"narHash": "sha256-/ZeWQ4mL3DfHsbTZYc80qMrL4vBfENP0RiGv2KrCrEo=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "e0b9e6c8ff35c7a28cb6baa02d85a9737a2ee4e9",
"rev": "61fe33f4194bbbc48c090a2e79f4eb61b47c9b75",
"type": "github"
},
"original": {
@@ -919,11 +1044,11 @@
},
"nixpkgs-regression_2": {
"locked": {
"lastModified": 1710455890,
"narHash": "sha256-Ecfz+YhCEtj0KZhI90fiW21QqneOd5HpvMeJGzlN72Y=",
"lastModified": 1715484633,
"narHash": "sha256-Es5etYksi9VsAZSBKZe4rdyi9L000MEx9lFb3TF6Eo8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "30ccdc28ecb2060cfe01d679aa8a4304631a41b5",
"rev": "25e9a6d07dd142bafd94603208a59c107e8f2905",
"type": "github"
},
"original": {
@@ -966,11 +1091,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1707514827,
"narHash": "sha256-Y+wqFkvikpE1epCx57PsGw+M1hX5aY5q/xgk+ebDwxI=",
"lastModified": 1714782413,
"narHash": "sha256-tbg0MEuKaPcUrnmGCu4xiY5F+7LW2+ECPKVAJd2HLwM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "20f65b86b6485decb43c5498780c223571dd56ef",
"rev": "651b4702e27a388f0f18e1b970534162dec09aff",
"type": "github"
},
"original": {
@@ -982,11 +1107,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1710272261,
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
"lastModified": 1715266358,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2",
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"type": "github"
},
"original": {
@@ -1013,6 +1138,22 @@
}
},
"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": {
"lastModified": 1686874404,
"narHash": "sha256-u2Ss8z+sGaVlKtq7sCovQ8WvXY+OoXJmY1zmyxITiaY=",
@@ -1028,7 +1169,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1682134069,
"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"
}
},
"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": {
"inputs": {
"agenix": "agenix",
@@ -1133,8 +1326,9 @@
"nixpkgs": "nixpkgs_5",
"nixpkgs-regression": "nixpkgs-regression_2",
"notifications-tray-icon": "notifications-tray-icon",
"railbird-secrets": "railbird-secrets",
"status-notifier-item": "status-notifier-item",
"systems": "systems_4",
"systems": "systems_6",
"taffybar": "taffybar",
"vscode-server": "vscode-server",
"xmonad": "xmonad",
@@ -1310,6 +1504,36 @@
"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": {
"inputs": {
"flake-utils": [
@@ -1334,11 +1558,11 @@
]
},
"locked": {
"lastModified": 1706639324,
"narHash": "sha256-O5T4/1+dERQitmA6pwcP67/tREcJQ7KuATD8kGiB2Es=",
"lastModified": 1714656757,
"narHash": "sha256-OZNPY2LNBm+NkIHqo8SX2f/BfuwqkQIGYePkiAmz2YA=",
"owner": "taffybar",
"repo": "taffybar",
"rev": "9c8540a56432db6555755a9a649b4874833520ed",
"rev": "a82a8a0cffb34b5eae38e46d88f02641bf8a8fe5",
"type": "github"
},
"original": {
@@ -1366,11 +1590,11 @@
},
"unstable": {
"locked": {
"lastModified": 1710272261,
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
"lastModified": 1715266358,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2",
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"type": "github"
},
"original": {
@@ -1382,15 +1606,15 @@
},
"vscode-server": {
"inputs": {
"flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_8"
"flake-utils": "flake-utils_7",
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1709622318,
"narHash": "sha256-bTscF0366xtoIXgH7Zq+Mn0mpX3w4h/2xKpHiYMyLNc=",
"lastModified": 1713958148,
"narHash": "sha256-8PDNi/dgoI2kyM7uSiU4eoLBqUKoA+3TXuz+VWmuCOc=",
"owner": "nix-community",
"repo": "nixos-vscode-server",
"rev": "d0ed9b8cf1f0a71f110df9119489ab047e0726bd",
"rev": "fc900c16efc6a5ed972fb6be87df018bcf3035bc",
"type": "github"
},
"original": {
@@ -1413,11 +1637,11 @@
"unstable": "unstable"
},
"locked": {
"lastModified": 1710184205,
"narHash": "sha256-vcDr/l0dohzk1ZtWdMGK9j7QUNS7RpdwmA1Mku/r6CY=",
"lastModified": 1714229485,
"narHash": "sha256-AOy87dJL0T9wSe1kM0tTzFlV++JwmoGW4BfBXzIUbsI=",
"owner": "xmonad",
"repo": "xmonad",
"rev": "746880e9b9bb4eecc6e89e26f760cfbdf1464fed",
"rev": "cde1a25bca9b7aeeb24af73588221f5f54ae770b",
"type": "github"
},
"original": {

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
rec {
giteaSecret = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHRNHlKPGVnOATsbnkPccyK+C15TWGKbBwqNKt0UcQ81 imalison@adele";
hostKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG3UqIYs/NY0okKuiIO+dU2OM7A8vv3b6//GedagvLoX ryzen-shine.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 AAAAC3NzaC1lZDI1NTE5AAAAIOVGIGnpkU7HNQ/zl/Ffi562M+laWY9/yIjB63BCMiTS kat@nixcomp.local"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO3tlMePru6ZlSuf8yUii3N1dy3WwJnSQAt3EgETkctK kat@jay-lenovo.local"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFrOYD3ReFc2+xFUylBFHREcm1lO7BRJGW5JrOoY3I8s ivanm@strixy-minaj"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFrOYD3ReFc2+xFUylBFHREcm1lO7BRJGW5JrOoY3I8s ivanm@strixi-minaj"
];
deanKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICDvbEVL+y7eV4+mtxOuHwyomBBQ6uYMesctstua20+e deanwenstrand@deans-mbp-2.lan"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFeXvPyHIYBPtn6QJtOrjlBUsZjDonVRfmWqTTM2ITWx nixos@nixos"
];
alexKeys = [
"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=="
"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;
forceSSL = true;
locations."/" = {
proxyPass = "http://192.168.1.26:3090";
proxyPass = "http://192.168.1.20:3090";
};
};
"syncthing.railbird.ai" = {
enableACME = true;
forceSSL = true;
root = "/var/lib/syncthing/sync";
root = "/var/lib/syncthing/railbird";
locations."/" = {
extraConfig = ''
autoindex on;
@@ -98,7 +98,7 @@ in
};
services.home-assistant = {
enable = true;
enable = false;
extraComponents = [
# Components required to complete the onboarding
"met"

View File

@@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }:
{ config, lib, pkgs, forEachUser, ... }:
{
imports = [
@@ -7,7 +7,7 @@
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = true;
modules.xmonad.enable = false;
modules.extra.enable = false;
modules.code.enable = true;
modules.games.enable = false;
@@ -34,29 +34,15 @@
services.xserver.libinput.enable = true;
fileSystems."/" = {
device = "/dev/disk/by-uuid/58218a04-3ba1-4295-86bb-ada59f75e3b6";
device = "/dev/disk/by-uuid/36864608-8e74-42b8-a075-27b59ef2701d";
fsType = "ext4";
};
boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/8142784e-45c6-4a2b-91f1-09df741ac00f";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/36E1-BE93";
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 = [
{
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";
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 = {
enable = true;
libinput.enable = true;
displayManager.sddm.enable = true;
desktopManager.plasma5.enable = true;
videoDrivers = [ "amdgpu" ];
};

View File

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

View File

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

View File

@@ -30,29 +30,6 @@
services.autorandr = {
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;

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"; }
];
networking.hostName = "strixy-minaj";
networking.hostName = "strixi-minaj";
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View File

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

View File

@@ -49,6 +49,24 @@ final: prev: {
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(_: {
# src = prev.fetchFromGitHub {
# repo = "gitea";

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
{ pkgs, keys, ... }:
{ pkgs, keys, inputs, system, ... }:
let
extraGroups = [
"audio"
@@ -27,6 +27,7 @@ in
extraGroups = [ "syncthing" "wheel" ];
home = "/var/lib/syncthing";
createHome = true;
openssh.authorizedKeys.keys = [giteaSecret] ++ kanivanKeys;
};
ivanm = userDefaults // {
extraGroups = extraGroupsWithWheel;
@@ -78,6 +79,21 @@ in
name = "micah";
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 = {

View File

@@ -7,15 +7,16 @@ makeEnable config "modules.wsl" false {
modules.base.enable = false;
modules.desktop.enable = false;
modules.xmonad.enable = false;
modules.plasma.enable = false;
# Update timezone automatically
services.tzupdate.enable = true;
wsl.wslConf.automount.root = "/mnt";
wsl = {
enable = true;
automountPath = "/mnt";
startMenuLaunchers = 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 {
nixpkgs.overlays = with inputs; [
xmonad.overlay
@@ -104,7 +104,6 @@ makeEnable config "modules.xmonad" true {
};
settings = {
inactive-dim = 0.2;
focus-exclude = ["class_g ?= 'rofi'" "class_g ?= 'Steam'"];
rounded-corners-exclude = [
"! name~=''" # Qtile == empty wm_class..