153 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
165646b395 [NixOS] Add new computers to syncthing 2024-03-19 20:27:37 -06:00
4de88f623c [NixOS] Set dpi for strixy-minaj 2024-03-14 20:52:13 -06:00
c656ebf8dc [NixOS] Add asusd on strixy-minaj 2024-03-14 19:48:38 -06:00
4c3ec2a29b [NixOS] Fix warning 2024-03-15 01:32:11 +00:00
6157a2b047 [NixOS] Add just 2024-03-15 01:32:03 +00:00
d149bc7755 [NixOS] Deprioritize railbird cache 2024-03-15 01:29:08 +00:00
4f669db603 [NixOS] Replace scripts with justfile 2024-03-15 01:28:56 +00:00
eccceb0d31 Add keymap for strixy-minaj 2024-03-15 00:52:28 +00:00
277432379c [NixOS] Add strixy-minaj 2024-03-15 00:24:38 +00:00
4e3e75c3e2 [NixOS] Add strixy-minaj 2024-03-14 16:56:27 -06:00
b2bf550aa0 [NixOS] Bump flake.lock 2024-03-12 00:10:59 -06:00
fdc4bda993 [NixOS] Allow an insecure nix 2024-03-12 00:10:11 -06:00
23a4d50b4a [NixOS] d-spy replaces dfeet 2024-03-12 00:08:32 -06:00
96012de10c Wrok 2024-03-12 00:00:10 -06:00
83940416d2 Hmm fix gitea runner 2024-03-11 23:58:51 -06:00
6e0427d4e0 Make gitea-runner docker work 2024-03-11 23:53:55 -06:00
6f2f2c54a7 Add fix_nix shell alias 2024-03-11 20:43:55 -06:00
3d121c8908 [Emacs] Add graphql-mode 2024-03-09 20:44:01 -07:00
66842d545a [Emacs] Add imalison:lsp-deferred-when-enabled 2024-03-06 18:15:21 -07:00
dc0dea2695 [git] Ignore the untracked directory 2024-03-01 00:58:52 -07:00
3017ea1b63 [NixOS] Add git-fame 2024-03-01 00:58:37 -07:00
ef7e685007 [Emacs] Add just-mode 2024-03-01 00:58:11 -07:00
4700030548 [NixOS] Fix picom service 2024-02-15 00:01:19 -07:00
45fd9aadef [NixOS] Flake update 2024-02-13 12:29:30 -07:00
b034f12adc [NixOS] Disable pgadmin 2024-02-13 12:27:54 -07:00
2458cb6081 [Alacritty] More fixes 2024-02-13 12:06:41 -07:00
2f49c3f86b [Alacritty] Move to toml 2024-02-12 22:54:04 -07:00
e7d536417c [NixOS] Changes for bump 2024-02-12 22:05:06 -07:00
61752b600d [NixOS] Remove gnupg override 2024-02-11 18:00:37 -07:00
00cfd236ab [NixOS] Add android studio to adele 2024-02-04 01:33:50 -07:00
88937e9acc [NixOS] Add rabbitmq 2024-01-29 19:51:02 -07:00
30146f4fdb [XMonad] Bump contrib 2024-01-29 01:55:14 -07:00
737167fe3f [git] Fix del-merged-branches 2024-01-29 01:55:14 -07:00
5809b012c5 taffybar fixes 2024-01-17 17:02:25 -07:00
90952a3dc0 [NixOS] Enable postgres by default 2024-01-05 01:34:26 -07:00
d8dee1504e Add postgres to jay lenovo 2024-01-04 20:50:46 -07:00
b744be3b00 [nixos] Dont haddock taffybar 2024-01-04 20:38:59 -07:00
8b83c429d1 [NixOS] Remove initialization for postgres 2024-01-04 20:02:11 -07:00
0c685bee88 [NixOS] Enable postgres on jimi-hendnix 2024-01-04 19:55:09 -07:00
830499c7d6 [NixOS] More sophisticated postgres initialization 2024-01-04 19:52:46 -07:00
18ef010bf1 [NixOS] Add postgres configuration 2024-01-03 13:45:20 -07:00
a75824ee2a [NixOS] Programatically get the list of users 2023-12-30 22:42:43 -07:00
0f65575a35 [NixOS] Add ffmpeg to essential 2023-12-22 22:13:36 -07:00
c9638dbbcd [NixOS] Allow openssl-1.1.1w 2023-12-21 16:21:32 -07:00
aff5aff63f [NixOS] Add neovim systemwide 2023-12-21 16:08:34 -07:00
0dd9976a38 [NixOS] Fix avahi warning 2023-12-21 16:04:06 -07:00
a98b45590a [NixOS] Add neovim for micah 2023-12-21 16:01:34 -07:00
6f1242b02c [NixOS] Add dean syncthing and railbird directory 2023-12-21 13:26:46 -07:00
1eea8c61e7 [NixOS] Backup gitea 2023-12-20 23:02:27 -07:00
f0d35c59dd [NixOS] Add ed25519 key for micah 2023-12-20 14:43:09 -07:00
e36ba46f34 [NixOS] Add micah 2023-12-20 14:30:55 -07:00
08ef11f1ec [NixOS] Use nvidia drivers on adele 2023-12-19 22:20:05 -07:00
fa9466dadd [NixOS] Add android-studio to jay-lenovo 2023-12-16 21:18:23 -07:00
0aa212b83d [Emacs] Run alejandra automatically 2023-12-16 13:46:53 -07:00
6b8789d566 [NixOS] Add script to expire home manager generations 2023-12-16 13:35:37 -07:00
1db30187cb [XMonad] Bump contrib pointer 2023-12-16 13:35:21 -07:00
e425d5c1f6 [Emacs] Add terraform-mode 2023-12-16 13:34:35 -07:00
98b49c63d4 [NixOS] Disable nix overlay 2023-12-15 20:23:19 -07:00
f933f5527d [Emacs] Add functions to allow git-link to work with dev.railbird.ai 2023-12-15 20:11:56 -07:00
8c49d47324 [Emacs] Adds groovy mode 2023-12-15 20:11:16 -07:00
42015c284a [NixOS] Fix vscode? 2023-12-13 11:56:10 -07:00
58b9a395d7 [NixOS] Use home manager for vscode support 2023-12-13 11:55:20 -07:00
b102fd2b85 [NixOS] Move nginx mods to biskcomp 2023-12-13 11:41:50 -07:00
4a7edcda75 [NixOS] Set system user for nginx 2023-12-13 11:39:43 -07:00
d3f552afda [NixOS] Fix nginx group 2023-12-13 11:38:45 -07:00
e8095c2081 [NixOS] Add primary group for nginx 2023-12-13 11:37:25 -07:00
f810880d90 [NixOS] Put vscode-server in baseModules 2023-12-13 11:35:47 -07:00
4b71ea64fe [NixOS] Share syncthing directory from biskcomp 2023-12-13 11:31:58 -07:00
5692999aa1 [NixOS] Add vscode server fix 2023-12-13 11:31:01 -07:00
2c0fd64edd [NixOS] Add syncthing to biskcomp 2023-12-07 01:41:17 -07:00
ced8c34823 [NixOS] Update railbird-sf runner token to be global 2023-11-25 22:33:48 -07:00
b99998823c [Emacs] Use gpt-4 as model in gptel 2023-11-25 08:44:20 -07:00
df196fe337 Merge remote-tracking branch 'origin/master' 2023-11-24 22:09:53 -07:00
dc47f00c81 [NixOS] Disable materia theme 2023-11-24 22:08:02 -07:00
eecea47276 [Emacs] Never do handle mouse movement for all cursors 2023-11-24 20:03:53 -07:00
3243829f1f [NixOS] Use updated settings paths for extra nix cache 2023-11-21 20:27:11 -07:00
7595aaf174 [NixOS] Add nextcloud admin password 2023-11-21 20:19:46 -07:00
9f8cc149ef [NixOS] Add nextcloud to biskcomp 2023-11-21 20:09:47 -07:00
8f20c46aac [NixOS] Use the default cache before cache.railbird.ai by default 2023-11-19 22:20:34 -07:00
a5ba4c9cc3 [NixOS] Actually add the age file for railbird-sf 2023-11-19 22:15:54 -07:00
9bdd9868be [NixOS] Make railbird-sf a runner 2023-11-19 22:02:16 -07:00
bad70fb304 [NixOS] Add cache.railbird.ai as a binaryCache 2023-11-18 19:03:04 -07:00
8d358a2cd8 [NixOS] Add railbird-sf to syncthing 2023-11-18 18:58:51 -07:00
295ed619ff [NixOS] Temporarily disable some electron stuff 2023-11-17 23:10:44 -07:00
f9042e8e80 [NixOS] Update flake.lock 2023-11-17 22:40:35 -07:00
4ef82e4b02 [NixOS] Forward requests at cache.railbird.ai to ryzen-shine 2023-11-17 19:55:35 -07:00
8b07fdc391 [NixOS] Update cache key to be at cache.railbird.ai 2023-11-17 19:50:09 -07:00
f09cef4606 [NixOS] Move electron stuff into its own module 2023-11-17 18:43:04 -07:00
627596a2fa [git] Uber is not needed anymmore 2023-11-17 18:28:59 -07:00
310383bfa3 Merge pull request #22 from wgester/will
Add railbird-sf config and remove electron dependencies
2023-11-17 18:26:36 -07:00
90c073deea Add railbird-sf config 2023-11-18 01:06:39 +00:00
82 changed files with 2290 additions and 1130 deletions

View File

@@ -0,0 +1,15 @@
import = ["/home/imalison/.config/alacritty/themes/themes/dracula.toml"]
[font]
size = 8
[scrolling]
history = 10000
multiplier = 3
[window]
decorations = "full"
[window.padding]
x = 10
y = 10

View File

@@ -1,34 +0,0 @@
scrolling:
# How many lines of scrollback to keep,
# '0' will disable scrolling.
history: 10000
# Number of lines the viewport will move for every line
# scrolled when scrollback is enabled (history > 0).
multiplier: 3
# Faux Scrolling
#
# The `faux_multiplier` setting controls the number
# of lines the terminal should scroll when the alternate
# screen buffer is active. This is used to allow mouse
# scrolling for applications like `man`.
#
# To disable this completely, set `faux_multiplier` to 0.
faux_multiplier: 3
# Automatically scroll to the bottom when new text is written
# to the terminal.
auto_scroll: false
font:
size: 8
window:
padding:
x: 10
y: 10
decorations: full
import:
- ~/.config/alacritty/themes/themes/dracula.yaml

View File

@@ -0,0 +1,20 @@
output DP-0
off
output DP-1
off
output HDMI-0
off
output DP-3
off
output DP-4
off
output DP-5
off
output DP-6
off
output DP-2
crtc 0
mode 2560x1600
pos 0x0
rate 240.00
x-prop-non_desktop 0

View File

@@ -0,0 +1 @@
DP-2 00ffffffffffff0009e5580c0000000001210104b527187803bbc5ae503fb7250c515500000001010101010101010101010101010101c07200a0a040c8603020360084f21000001a000000fd0c30f0b1b176010a202020202020000000fe00424f452043510a202020202020000000fc004e4531383051444d2d4e4d310a029602030f00e3058080e606050195731000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa702079020021001d280f7409000a400680dd2a511824b249120e023554b060ec64662a1378220014ffed1185ff099f002f001f003f06c700020005002b000c27003cef00002700303b0000810015741a0000030b30f0006095107310f0000000008d00000000000000000000000000000000000000000000000000000000bc90

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.2.2
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=46
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=PERCENT_CPU
.tree_sort_key=PERCENT_CPU
.tree_view=0
.tree_view_always_by_pid=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=0
.tree_view_always_by_pid=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0

699
dotfiles/config/taffybar/flake.lock generated Normal file
View File

@@ -0,0 +1,699 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fourmolu-011": {
"flake": false,
"locked": {
"narHash": "sha256-g/yDZXeLCHq/iXoZTaTYSb8l9CMny3AKsRQgWElagZI=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/fourmolu-0.11.0.0/fourmolu-0.11.0.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/fourmolu-0.11.0.0/fourmolu-0.11.0.0.tar.gz"
}
},
"fourmolu-012": {
"flake": false,
"locked": {
"narHash": "sha256-yru8ls67DMM6WSeVU6xDmmwa48I8S9CUv9NBaxSQ29M=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/fourmolu-0.12.0.0/fourmolu-0.12.0.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/fourmolu-0.12.0.0/fourmolu-0.12.0.0.tar.gz"
}
},
"git-ignore-nix": {
"inputs": {
"nixpkgs": [
"taffybar",
"nixpkgs"
]
},
"locked": {
"lastModified": 1660459072,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"ref": "master",
"repo": "gitignore.nix",
"type": "github"
}
},
"git-ignore-nix_2": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1703887061,
"narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"ref": "master",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore": {
"flake": false,
"locked": {
"lastModified": 1660459072,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gtk-sni-tray": {
"inputs": {
"flake-utils": [
"taffybar",
"flake-utils"
],
"git-ignore-nix": [
"taffybar",
"git-ignore-nix"
],
"nixpkgs": [
"taffybar",
"nixpkgs"
],
"status-notifier-item": [
"taffybar",
"status-notifier-item"
]
},
"locked": {
"lastModified": 1663379298,
"narHash": "sha256-m18+G7V1N+g/pPeKJG9hkblGA5c8QTnUYnsU5t14sOw=",
"owner": "taffybar",
"repo": "gtk-sni-tray",
"rev": "1927d86308d34b5d21a709cf8ff5332ec5d37de4",
"type": "github"
},
"original": {
"owner": "taffybar",
"ref": "master",
"repo": "gtk-sni-tray",
"type": "github"
}
},
"gtk-strut": {
"inputs": {
"flake-utils": [
"taffybar",
"flake-utils"
],
"git-ignore-nix": [
"taffybar",
"git-ignore-nix"
],
"nixpkgs": [
"taffybar",
"nixpkgs"
]
},
"locked": {
"lastModified": 1663377859,
"narHash": "sha256-UrBd+R3NaJIDC2lt5gMafS3KBeLs83emm2YorX2cFCo=",
"owner": "taffybar",
"repo": "gtk-strut",
"rev": "d946eb230cdccf5afc063642b3215723e555990b",
"type": "github"
},
"original": {
"owner": "taffybar",
"ref": "master",
"repo": "gtk-strut",
"type": "github"
}
},
"haskell-hie-bios": {
"flake": false,
"locked": {
"lastModified": 1686930638,
"narHash": "sha256-gfcxxHtZ2jUsiKNn/O4jEkfWF/2H04aTnaIvPDbtNlQ=",
"owner": "haskell",
"repo": "hie-bios",
"rev": "3d4fadfb0dc44cb287db9897ecfb503899d33513",
"type": "github"
},
"original": {
"owner": "haskell",
"repo": "hie-bios",
"type": "github"
}
},
"haskell-implicit-hie-cradle": {
"flake": false,
"locked": {
"lastModified": 1686495518,
"narHash": "sha256-OAe+zOkMZuoTfVEMnxnCT1cmPgRF/riAR8nVdomnwxo=",
"owner": "smunix",
"repo": "implicit-hie-cradle",
"rev": "d6aa00355898469af56cfd5e62f7fc8bd9959ded",
"type": "github"
},
"original": {
"owner": "smunix",
"ref": "smunix-patch-hls-0.5-1",
"repo": "implicit-hie-cradle",
"type": "github"
}
},
"haskell-language-server": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_3",
"fourmolu-011": "fourmolu-011",
"fourmolu-012": "fourmolu-012",
"gitignore": "gitignore",
"haskell-hie-bios": "haskell-hie-bios",
"haskell-implicit-hie-cradle": "haskell-implicit-hie-cradle",
"hiedb": "hiedb",
"hlint-35": "hlint-35",
"hlint-36": "hlint-36",
"lsp": "lsp",
"lsp-test": "lsp-test",
"lsp-types": "lsp-types",
"nixpkgs": "nixpkgs_2",
"ormolu-052": "ormolu-052",
"ormolu-07": "ormolu-07",
"stylish-haskell-0145": "stylish-haskell-0145"
},
"locked": {
"lastModified": 1693851896,
"narHash": "sha256-799JUHpBd2iMRCrTYDme5RsROKnIwSKBe2xYxgVN7QI=",
"owner": "colonelpanic8",
"repo": "haskell-language-server",
"rev": "ea368cef0673059fff95e953ef983109b5979dbc",
"type": "github"
},
"original": {
"owner": "colonelpanic8",
"ref": "goto-dependency-definition-2",
"repo": "haskell-language-server",
"type": "github"
}
},
"hiedb": {
"flake": false,
"locked": {
"lastModified": 1691542357,
"narHash": "sha256-90ftphhoIo0CklJrjfCGQrZIUKZfdMJ2Og6tep9dmJ8=",
"owner": "nlander",
"repo": "HieDb",
"rev": "4eebfcf8fab54f24808e6301227d77ae64d2509c",
"type": "github"
},
"original": {
"owner": "nlander",
"ref": "all-new-functions",
"repo": "HieDb",
"type": "github"
}
},
"hlint-35": {
"flake": false,
"locked": {
"narHash": "sha256-qQNUlQQnahUGEO92Lm0RwjTGBGr2Yaw0KRuFRMoc5No=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/hlint-3.5/hlint-3.5.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/hlint-3.5/hlint-3.5.tar.gz"
}
},
"hlint-36": {
"flake": false,
"locked": {
"narHash": "sha256-fH4RYnWeuBqJI5d3Ba+Xs0BxYr0IYFH1OWO3k2iHGlU=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/hlint-3.6.1/hlint-3.6.1.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/hlint-3.6.1/hlint-3.6.1.tar.gz"
}
},
"lsp": {
"flake": false,
"locked": {
"narHash": "sha256-HcEfdYUrCHufEa+10M2wESjnK41xM/msd+t6r6JwQO0=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-2.2.0.0/lsp-2.2.0.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-2.2.0.0/lsp-2.2.0.0.tar.gz"
}
},
"lsp-test": {
"flake": false,
"locked": {
"narHash": "sha256-E1D3X2+I9ZTZLpHDEDTXexQFYpyG5byOFRIvRTeBsn8=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-test-0.16.0.0/lsp-test-0.16.0.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-test-0.16.0.0/lsp-test-0.16.0.0.tar.gz"
}
},
"lsp-types": {
"flake": false,
"locked": {
"narHash": "sha256-Oa5HuKdsdTSQUKtuSt06zVAq19Qxq5IJZObrnPwlB6s=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-types-2.0.2.0/lsp-types-2.0.2.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-types-2.0.2.0/lsp-types-2.0.2.0.tar.gz"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1702312524,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
"path": "/nix/store/4fgs7yzsy2dqnjw8j42qlp9i1vgarzy0-source",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
"type": "path"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1686874404,
"narHash": "sha256-u2Ss8z+sGaVlKtq7sCovQ8WvXY+OoXJmY1zmyxITiaY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "efc10371d5c5b8d2d58bab6c1100753efacfe550",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1689098530,
"narHash": "sha256-fxc/9f20wRyo/5ydkmZkX/Sh/ULa7RcT8h+cUv8p/44=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f2406198ea0e4e37d4380d0e20336c575b8f8ef9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1666603677,
"narHash": "sha256-apAEIj+z1iwMaMJ4tB21r/VTetfGDLDzuhXRHJknIAU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "074da18a72269cc5a6cf444dce42daea5649b2fe",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1702312524,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
"path": "/nix/store/4fgs7yzsy2dqnjw8j42qlp9i1vgarzy0-source",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
"type": "path"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"ormolu-052": {
"flake": false,
"locked": {
"narHash": "sha256-H7eqId488RBRxcf7flgJefAZmRgFJASJva+Oy7GG4q4=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/ormolu-0.5.2.0/ormolu-0.5.2.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/ormolu-0.5.2.0/ormolu-0.5.2.0.tar.gz"
}
},
"ormolu-07": {
"flake": false,
"locked": {
"narHash": "sha256-5M5gNzSvsiQH1+0oexRByzf5EIET+0BFwR4fLIr2P7g=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/ormolu-0.7.1.0/ormolu-0.7.1.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/ormolu-0.7.1.0/ormolu-0.7.1.0.tar.gz"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
"taffybar": "taffybar",
"xmonad": "xmonad_2"
}
},
"status-notifier-item": {
"inputs": {
"flake-utils": [
"taffybar",
"flake-utils"
],
"git-ignore-nix": [
"taffybar",
"git-ignore-nix"
],
"nixpkgs": [
"taffybar",
"nixpkgs"
]
},
"locked": {
"lastModified": 1641783528,
"narHash": "sha256-wJymJfYPFj4/r1e4kT/wt9FEsyCXo5JkkcOoozpuhag=",
"owner": "taffybar",
"repo": "status-notifier-item",
"rev": "f4f9c66ab57fc42eeed0de8cfac9f5f9d30d9dc7",
"type": "github"
},
"original": {
"owner": "taffybar",
"repo": "status-notifier-item",
"type": "github"
}
},
"stylish-haskell-0145": {
"flake": false,
"locked": {
"narHash": "sha256-EE7RFQ6q4Ek8daRgOpNMGepYLa9o8cM4OLjTNUSHQf0=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/stylish-haskell-0.14.5.0/stylish-haskell-0.14.5.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/stylish-haskell-0.14.5.0/stylish-haskell-0.14.5.0.tar.gz"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_4": {
"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": "flake-utils_2",
"git-ignore-nix": "git-ignore-nix",
"gtk-sni-tray": "gtk-sni-tray",
"gtk-strut": "gtk-strut",
"haskell-language-server": "haskell-language-server",
"nixpkgs": "nixpkgs_3",
"status-notifier-item": "status-notifier-item",
"xmonad": "xmonad"
},
"locked": {
"lastModified": 1696612500,
"narHash": "sha256-Q19F91yVQviqxgY+FkvEwtX2vcw414eVtK8erim0NrU=",
"owner": "taffybar",
"repo": "taffybar",
"rev": "46eba89c2a4d4ffefe42c3ee4506d1b74c8e61fd",
"type": "github"
},
"original": {
"owner": "taffybar",
"repo": "taffybar",
"type": "github"
}
},
"unstable": {
"locked": {
"lastModified": 1689098530,
"narHash": "sha256-fxc/9f20wRyo/5ydkmZkX/Sh/ULa7RcT8h+cUv8p/44=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f2406198ea0e4e37d4380d0e20336c575b8f8ef9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"unstable_2": {
"locked": {
"lastModified": 1704538339,
"narHash": "sha256-1734d3mQuux9ySvwf6axRWZRBhtcZA9Q8eftD6EZg6U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "46ae0210ce163b3cba6c7da08840c1d63de9c701",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"xmonad": {
"inputs": {
"flake-utils": [
"taffybar",
"flake-utils"
],
"git-ignore-nix": [
"taffybar",
"git-ignore-nix"
],
"nixpkgs": [
"taffybar",
"nixpkgs"
],
"unstable": "unstable"
},
"locked": {
"lastModified": 1687976934,
"narHash": "sha256-hUZmKy3jJ1+5rTGeQzfNR+LxgzmLaaeRVnbsJMEVw0Q=",
"owner": "xmonad",
"repo": "xmonad",
"rev": "1aac6611d82065c9198e5584176058a9483fcbb0",
"type": "github"
},
"original": {
"owner": "xmonad",
"ref": "master",
"repo": "xmonad",
"type": "github"
}
},
"xmonad_2": {
"inputs": {
"flake-utils": "flake-utils_4",
"git-ignore-nix": "git-ignore-nix_2",
"nixpkgs": "nixpkgs_5",
"unstable": "unstable_2"
},
"locked": {
"lastModified": 1702895348,
"narHash": "sha256-ADRTw4DTfDCmsSFFWZKmvdmIjnEVY7pjjUxYytKXy1E=",
"owner": "xmonad",
"repo": "xmonad",
"rev": "c4cf4715f736fed77fb2af622c0760259ac2cf43",
"type": "github"
},
"original": {
"owner": "xmonad",
"ref": "master",
"repo": "xmonad",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View File

@@ -2,11 +2,14 @@
inputs = { inputs = {
flake-utils.url = github:numtide/flake-utils; flake-utils.url = github:numtide/flake-utils;
xmonad.url = github:xmonad/xmonad/master; xmonad.url = github:xmonad/xmonad/master;
taffybar.url = path:./taffybar; taffybar.url = "github:taffybar/taffybar";
}; };
outputs = { self, flake-utils, taffybar, nixpkgs, xmonad }: outputs = { self, flake-utils, taffybar, nixpkgs, xmonad }:
let let
hoverlay = final: prev: hself: hsuper: { hoverlay = final: prev: hself: hsuper: {
taffybar = hsuper.taffybar.overrideAttrs (old: {
doHaddock = false;
});
imalison-taffybar = prev.haskell.lib.addPkgconfigDepends ( imalison-taffybar = prev.haskell.lib.addPkgconfigDepends (
hself.callCabal2nix "imalison-taffybar" hself.callCabal2nix "imalison-taffybar"
( (

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
@@ -83,6 +85,7 @@
imalison:multiple-cursors-hydra/mc/mark-previous-like-this imalison:multiple-cursors-hydra/mc/mark-previous-like-this
imalison:multiple-cursors-hydra/nil imalison:multiple-cursors-hydra/nil
isearch-delete-char isearch-delete-char
lsp-ui-doc--handle-mouse-movement
make-frame make-frame
overwrite-mode overwrite-mode
smex smex

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
:config
(progn
(emit-prefix-selector imalison:ace-window (emit-prefix-selector imalison:ace-window
ace-select-window ace-select-window
ace-swap-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)) :bind ("C-c w" . imalison:ace-window))
#+END_SRC #+END_SRC
** neotree ** neotree
@@ -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
(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) (diminish 'elisp-slime-nav-mode)
:preface
(emit-prefix-selector imalison:elisp-slime-nav (emit-prefix-selector imalison:elisp-slime-nav
elisp-slime-nav-find-elisp-thing-at-point 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 :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)
@@ -2622,6 +2600,13 @@ eval-last-sexp.
(shell-command-to-string "nix eval -I \"$NIX_PATH\" --expr '<nixpkgs>' --impure")))) (shell-command-to-string "nix eval -I \"$NIX_PATH\" --expr '<nixpkgs>' --impure"))))
:config :config
(progn (progn
(use-package apheleia
:demand t
:config
(progn
(add-to-list 'apheleia-formatters '(alejandra . ("alejandra")))
(setf (alist-get 'nix-mode apheleia-mode-alist)
'(alejandra))))
(setq nix-indent-function 'nix-indent-line))) (setq nix-indent-function 'nix-indent-line)))
(use-package lsp-nix (use-package lsp-nix
@@ -2697,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
@@ -2885,6 +2865,10 @@ The following is taken from [[https://github.com/syl20bnr/spacemacs/blob/a650877
:defer t :defer t
:mode ("\\.kt\\'")) :mode ("\\.kt\\'"))
#+END_SRC #+END_SRC
*** groovy
#+begin_src emacs-lisp
(use-package groovy-mode)
#+end_src
*** vala *** vala
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package vala-mode (use-package vala-mode
@@ -2897,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
@@ -2931,6 +2915,10 @@ The following is taken from [[https://github.com/syl20bnr/spacemacs/blob/a650877
(use-package protobuf-mode (use-package protobuf-mode
:defer t) :defer t)
#+END_SRC #+END_SRC
*** graphql
#+begin_src emacs-lisp
(use-package graphql-mode)
#+end_src
*** json-mode *** json-mode
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package json-mode (use-package json-mode
@@ -2947,6 +2935,10 @@ The following is taken from [[https://github.com/syl20bnr/spacemacs/blob/a650877
:mode (("\\.yaml\\'" . yaml-mode) :mode (("\\.yaml\\'" . yaml-mode)
("\\.yml\\'" . yaml-mode))) ("\\.yml\\'" . yaml-mode)))
#+END_SRC #+END_SRC
*** just-mode
#+begin_src emacs-lisp
(use-package just-mode)
#+end_src
*** es-mode *** es-mode
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package es-mode (use-package es-mode
@@ -2967,6 +2959,11 @@ The following is taken from [[https://github.com/syl20bnr/spacemacs/blob/a650877
(use-package toml-mode (use-package toml-mode
:mode (("\\.toml\\'" . toml-mode))) :mode (("\\.toml\\'" . toml-mode)))
#+end_src #+end_src
*** terraform
#+begin_src emacs-lisp
(use-package terraform-mode
:mode (("\\.tf\\'" . terraform-mode)))
#+end_src
** Document ** Document
*** org *** org
My org-mode configuration now lives in its own file org-config.org. My org-mode configuration now lives in its own file org-config.org.
@@ -3089,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
@@ -3102,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)
@@ -3115,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)))
@@ -3126,27 +3121,27 @@ 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
:defer t :defer t
:config :config
(progn (progn
(setq git-link-use-commit t))) (setq git-link-use-commit t)
(defun git-link-commit-gitea (hostname dirname commit)
(format "https://%s/%s/commit/%s"
hostname
dirname
commit))
(defun git-link-gitea (hostname dirname filename branch commit start end)
(format "https://%s/%s/src/commit/%s/%s#L%s"
hostname
dirname
commit
filename
start))
(add-to-list 'git-link-remote-alist '("dev.railbird.ai" git-link-gitea))
(add-to-list 'git-link-commit-remote-alist '("dev.railbird.ai" git-link-gitea))))
#+END_SRC #+END_SRC
** magit-gitflow ** magit-gitflow
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@@ -3250,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
@@ -3269,10 +3256,15 @@ emr (emacs refactor) provides support for refactoring in many programming langua
#+END_SRC #+END_SRC
** language-server-protocol (lsp) ** language-server-protocol (lsp)
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defvar imalison:use-lsp nil)
(use-package lsp-mode (use-package lsp-mode
:defer 3
:commands lsp :commands lsp
:preface :preface
(defun imalison:lsp-deferred-when-enabled ()
(add-hook 'hack-local-variables-hook
(lambda ()
(when imalison:use-lsp
(lsp-deferred))) nil t))
(defun imalison:nix-develop-lsp-wrapper-function (argv) (defun imalison:nix-develop-lsp-wrapper-function (argv)
(append (append
(append (list "nix" "develop" "-I" "." "--impure" "--command") (append (list "nix" "develop" "-I" "." "--impure" "--command")
@@ -3283,10 +3275,34 @@ emr (emacs refactor) provides support for refactoring in many programming langua
(use-package lsp-ui (use-package lsp-ui
:config :config
(progn (progn
(add-hook 'prog-mode-hook 'imalison:lsp-deferred-when-enabled)
(add-hook 'lsp-mode-hook 'lsp-ui-mode) (add-hook 'lsp-mode-hook 'lsp-ui-mode)
(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
@@ -3294,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)
@@ -3358,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
@@ -3368,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)
@@ -3459,7 +3483,7 @@ crux-reopen-as-root-mode makes it so that any file owned by root will automatica
:config :config
(progn (progn
(add-to-list 'gptel-directives '(finish-code . "You are a large language model and a careful programmer. Provide code that completes what is provided and only code as output without any additional text, prompt or note.")) (add-to-list 'gptel-directives '(finish-code . "You are a large language model and a careful programmer. Provide code that completes what is provided and only code as output without any additional text, prompt or note."))
;; (setq gptel-model "gpt-4") (setq gptel-model "gpt-4")
)) ))
#+end_src #+end_src
* Cooperation * Cooperation
@@ -3523,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)
@@ -3558,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
@@ -3601,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
@@ -3697,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)))
@@ -3719,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
@@ -3860,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
@@ -4040,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
@@ -4077,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
@@ -4085,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)
@@ -4240,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

@@ -10,7 +10,7 @@
cpr = cherry-pick-range cpr = cherry-pick-range
cam = commit -am cam = commit -am
clean-branches = "!r() { git branch --merged ${1-origin/master} | grep -v '*' | xargs -n1 git branch -d; }; r" clean-branches = "!r() { git branch --merged ${1-origin/master} | grep -v '*' | xargs -n1 git branch -d; }; r"
del-merged-branches = "!f() { git fetch $1 && git branch -r --merged $1/$2 | awk -F/ \"/$1/ && !/$2$/ {print \\$2}\" | xargs -I {} git push $1 --delete {}; }; f" del-merged-branches = "!f() { git fetch $1 && git branch -r --merged $1/$2 | grep -v \"$1/$2$\" | sed \"s:$1/::\" | xargs -I {} sh -c \"git push $1 :{}\" _; }; f"
clone = clone --recursive clone = clone --recursive
credit = "!f() { git commit --amend --author \"$1 <$2>\" -C HEAD; }; f" # Credit an author on the latest commit credit = "!f() { git commit --amend --author \"$1 <$2>\" -C HEAD; }; f" # Credit an author on the latest commit
co = checkout co = checkout
@@ -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`
@@ -88,12 +89,6 @@
[rerere] [rerere]
enabled = false enabled = false
[url "ssh://git@github.com/uber/"]
insteadOf = https://github.com/uber/
[url "ssh://gitolite@code.uber.internal:2222/"]
insteadOf = https://code.uber.internal/
[branch] [branch]
autosetuprebase = always autosetuprebase = always

View File

@@ -75,3 +75,7 @@ cabal.project.local
# #
.direnv .direnv
/dotfiles/config/gtk-3.0/settings.ini /dotfiles/config/gtk-3.0/settings.ini
/untracked
railbird-infra-*.json

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))

7
dotfiles/lib/functions/nr Executable file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env sh
function nr {
nix run nixpkgs#"$@"
}
nr "$@"

View File

@@ -10,5 +10,3 @@ function split_by_char {
} }
split_by_char "$@" split_by_char "$@"

View File

@@ -0,0 +1,7 @@
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)+altwin(swap_lalt_lwin)+imalison(ralt_as_hyper)+capslock(ctrl_modifier)" };
xkb_geometry { include "pc(pc105)" };
};

View File

@@ -1,10 +1,12 @@
{ config, pkgs, options, inputs, makeEnable, ... }: { config, pkgs, forEachUser, makeEnable, realUsers, ... }:
makeEnable config "modules.base" true { makeEnable config "modules.base" true {
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [
"openssl-1.0.2u" "openssl-1.0.2u"
"electron-12.2.3" "electron-12.2.3"
"etcher" "etcher"
"electron-19.1.9" "electron-19.1.9"
"openssl-1.1.1w"
"nix-2.16.2"
]; ];
# Disabling these waits disables the stuck on boot up issue # Disabling these waits disables the stuck on boot up issue
@@ -18,7 +20,6 @@ makeEnable config "modules.base" true {
enable = true; enable = true;
enableSSHSupport = true; enableSSHSupport = true;
}; };
package = pkgs.gnupg_2_4_0;
}; };
services.pcscd.enable = true; services.pcscd.enable = true;
@@ -32,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
@@ -72,4 +69,7 @@ makeEnable config "modules.base" true {
services.dbus.packages = [ pkgs.gcr ]; services.dbus.packages = [ pkgs.gcr ];
programs.dconf.enable = true; programs.dconf.enable = true;
home-manager.users = forEachUser (import ./home-manager.nix);
nix.settings.trusted-users = realUsers;
} }

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

@@ -1,4 +1,4 @@
{ config, makeEnable, lib, ... }: { config, lib, ... }:
with lib; with lib;
let cfg = config.modules.cache-server; let cfg = config.modules.cache-server;
in in
@@ -8,7 +8,7 @@ in
enable = mkEnableOption "nix cache server"; enable = mkEnableOption "nix cache server";
port = mkOption { port = mkOption {
type = types.int; type = types.int;
default = 8080; default = 5050;
}; };
host-string = mkOption { host-string = mkOption {
type = types.string; type = types.string;
@@ -27,18 +27,7 @@ in
services.nix-serve = { services.nix-serve = {
enable = true; enable = true;
secretKeyFile = config.age.secrets."cache-priv-key.pem".path; secretKeyFile = config.age.secrets."cache-priv-key.pem".path;
port = 5050; port = cfg.port;
};
services.nginx = {
enable = true;
recommendedProxySettings = true;
virtualHosts = {
"${cfg.host-string}" = {
locations."${cfg.path}".proxyPass = "http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}";
listen = [ { addr = "0.0.0.0"; port = cfg.port; } ];
};
};
}; };
}; };
} }

View File

@@ -57,6 +57,7 @@ makeEnable config "modules.code" true {
# nix # nix
nixd nixd
nil nil
alejandra
] ++ (if pkgs.system == "x86_64-linux" then with pkgs; [ ] ++ (if pkgs.system == "x86_64-linux" then with pkgs; [
# purescript # purescript
purescript purescript

View File

@@ -1,12 +1,14 @@
{ config, lib, ... }: { config, lib, forEachUser, ... }:
{ {
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
./desktop.nix ./desktop.nix
./electron.nix
./environment.nix ./environment.nix
./essential.nix ./essential.nix
./extra.nix ./extra.nix
@@ -23,10 +25,14 @@
./nixified.ai.nix ./nixified.ai.nix
./options.nix ./options.nix
./plasma.nix ./plasma.nix
./postgres.nix
./rabbitmq.nix
./secrets.nix ./secrets.nix
./ssh.nix ./ssh.nix
./syncthing.nix ./syncthing.nix
./user-specific.nix
./users.nix ./users.nix
./vscode.nix
./wsl.nix ./wsl.nix
./xmonad.nix ./xmonad.nix
]; ];
@@ -42,6 +48,7 @@
modules.gnome.enable = false; modules.gnome.enable = false;
modules.xmonad.enable = true; modules.xmonad.enable = true;
modules.extra.enable = true; modules.extra.enable = true;
modules.electron.enable = true;
modules.code.enable = true; modules.code.enable = true;
modules.games.enable = true; modules.games.enable = true;
modules.syncthing.enable = true; modules.syncthing.enable = true;

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
@@ -7,7 +7,9 @@ makeEnable config "modules.desktop" true {
services.xserver = { services.xserver = {
exportConfiguration = true; exportConfiguration = true;
enable = true; enable = true;
xkb = {
layout = "us"; layout = "us";
};
displayManager = { displayManager = {
sessionCommands = '' sessionCommands = ''
systemctl --user import-environment GDK_PIXBUF_MODULE_FILE DBUS_SESSION_BUS_ADDRESS PATH systemctl --user import-environment GDK_PIXBUF_MODULE_FILE DBUS_SESSION_BUS_ADDRESS PATH
@@ -35,7 +37,7 @@ makeEnable config "modules.desktop" true {
gnome.adwaita-icon-theme gnome.adwaita-icon-theme
hicolor-icon-theme hicolor-icon-theme
libsForQt5.breeze-gtk libsForQt5.breeze-gtk
materia-theme # materia-theme
numix-icon-theme-circle numix-icon-theme-circle
papirus-icon-theme papirus-icon-theme
@@ -53,18 +55,15 @@ makeEnable config "modules.desktop" true {
alacritty alacritty
blueman blueman
clipit clipit
dfeet d-spy
dolphin dolphin
element-desktop
feh feh
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
@@ -98,35 +97,13 @@ makeEnable config "modules.desktop" true {
graphviz graphviz
nodePackages.mermaid-cli nodePackages.mermaid-cli
] ++ (if pkgs.system == "x86_64-linux" then with pkgs; [ ] ++ (if pkgs.system == "x86_64-linux" then with pkgs; [
bitwarden
discord
etcher
google-chrome google-chrome
keybase-gui
pommed_light pommed_light
slack slack
spicetify-cli spicetify-cli
spotify spotify
tor-browser-bundle-bin tor-browser-bundle-bin
vscode vscode
zoom-us zulip
] else []); ] else []);
home-manager.users = forEachUser (if pkgs.system == "x86_64-linux" then {
systemd.user.services.bitwarden = {
Unit = {
Description = "Bitwarden";
After = [ "graphical-session-pre.target" "tray.target" ];
PartOf = [ "graphical-session.target" ];
};
Install = { WantedBy = [ "graphical-session.target" ]; };
Service = {
ExecStart = "${pkgs.bitwarden}/bin/bitwarden";
Restart = "always";
RestartSec = 3;
};
};
} else {});
} }

28
nixos/electron.nix Normal file
View File

@@ -0,0 +1,28 @@
{ pkgs, config, makeEnable, forEachUser, ... }:
makeEnable config "modules.electron" false {
environment.systemPackages = with pkgs; [
element-desktop
# bitwarden
discord
# etcher
# keybase-gui
zoom-us
];
home-manager.users = forEachUser (if pkgs.system == "x86_64-linux" then {
# systemd.user.services.bitwarden = {
# Unit = {
# Description = "Bitwarden";
# After = [ "graphical-session-pre.target" "tray.target" ];
# PartOf = [ "graphical-session.target" ];
# };
# Install = { WantedBy = [ "graphical-session.target" ]; };
# Service = {
# ExecStart = "${pkgs.bitwarden}/bin/bitwarden";
# Restart = "always";
# RestartSec = 3;
# };
# };
} else {});
}

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"
''; '';
}; };
@@ -47,6 +63,7 @@ with lib;
localBinInPath = true; localBinInPath = true;
shellAliases = { shellAliases = {
df_ssh = "TERM='xterm-256color ssh -o StrictHostKeyChecking=no'"; df_ssh = "TERM='xterm-256color ssh -o StrictHostKeyChecking=no'";
fix_nix = "LD_LIBRARY_PATH='' nix";
}; };
variables = { variables = {
ROFI_SYSTEMD_TERM = "alacritty -e"; ROFI_SYSTEMD_TERM = "alacritty -e";

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;
@@ -30,11 +15,14 @@ in
efibootmgr efibootmgr
emacs emacs
fd fd
ffmpeg
bento4
file file
gawk gawk
gcc gcc
gdb gdb
git-lfs git-lfs
git-fame
git-sync git-sync
gitFull gitFull
glxinfo glxinfo
@@ -46,11 +34,13 @@ in
iotop iotop
ispell ispell
jq jq
just
lshw lshw
lsof lsof
magic-wormhole-rs magic-wormhole-rs
ncdu ncdu
neofetch neofetch
neovim
nix-index nix-index
pass pass
patchelf patchelf

View File

@@ -1,6 +0,0 @@
#!/usr/bin/env sh
nix flake lock --update-input taffybar
nix flake lock --update-input imalison-taffybar
nix flake lock --update-input xmonad
nix flake lock --update-input xmonad-contrib

645
nixos/flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,9 @@
{ {
inputs = { inputs = {
nixos-hardware = { url = "github:NixOS/nixos-hardware"; }; railbird-secrets = {
url = "git+ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git";
};
nixos-hardware = { url = "github:colonelpanic8/nixos-hardware"; };
nixpkgs = { nixpkgs = {
url = "github:NixOS/nixpkgs/nixos-unstable"; url = "github:NixOS/nixpkgs/nixos-unstable";
@@ -59,10 +62,6 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix = {
url = "github:IvanMalison/nix/my2.15.1";
};
flake-utils = { flake-utils = {
url = "github:numtide/flake-utils"; url = "github:numtide/flake-utils";
inputs.systems.follows = "systems"; inputs.systems.follows = "systems";
@@ -103,6 +102,8 @@
}; };
}; };
vscode-server.url = "github:nix-community/nixos-vscode-server";
nixpkgs-regression = { url = "github:NixOS/nixpkgs"; }; nixpkgs-regression = { url = "github:NixOS/nixpkgs"; };
nixified-ai = { url = "github:nixified-ai/flake"; }; nixified-ai = { url = "github:nixified-ai/flake"; };
@@ -153,10 +154,17 @@
specialArgs = rec { specialArgs = rec {
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);
realUsers = [ "root" "imalison" "kat" "dean" "alex" "will" ];
forEachUser = mapValueToKeys realUsers;
keys = (import ./keys.nix); keys = (import ./keys.nix);
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)
);
mapAllKeysToValue = keys: value: builtins.listToAttrs (map (name: { inherit name value; }) keys);
forEachUser = mapAllKeysToValue realUsers;
} // specialArgs; } // specialArgs;
}); });
in in
@@ -169,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

@@ -2,7 +2,7 @@
makeEnable config "modules.games" false { makeEnable config "modules.games" false {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
steam steam
heroic # heroic
]; ];
boot.extraModulePackages = with pkgs; [ boot.extraModulePackages = with pkgs; [
xboxdrv xboxdrv

View File

@@ -21,6 +21,7 @@ makeEnable config "modules.gitea-runner" false {
}; };
hostPackages = with pkgs; [ hostPackages = with pkgs; [
bash bash
direnv
coreutils coreutils
curl curl
gawk gawk
@@ -29,6 +30,8 @@ makeEnable config "modules.gitea-runner" false {
gitFull gitFull
gnused gnused
nodejs nodejs
docker
openssh
wget wget
]; ];
enable = true; enable = true;
@@ -46,4 +49,11 @@ makeEnable config "modules.gitea-runner" false {
XDG_CONFIG_HOME = gitea-runner-directory; XDG_CONFIG_HOME = gitea-runner-directory;
XDG_CACHE_HOME = "${gitea-runner-directory}/.cache"; XDG_CACHE_HOME = "${gitea-runner-directory}/.cache";
}; };
users.groups.gitea-runner = {};
users.users.gitea-runner = {
isSystemUser = true;
group = "gitea-runner";
extraGroups = ["docker"];
home = "/var/lib/gitea-runner";
};
} }

View File

@@ -4,6 +4,10 @@ makeEnable config "modules.gitea" false {
services.gitea = { services.gitea = {
enable = true; enable = true;
lfs.enable = true; lfs.enable = true;
dump = {
enable = true;
interval = "23:05";
};
settings.server = { settings.server = {
DOMAIN = "dev.railbird.ai"; DOMAIN = "dev.railbird.ai";
SSH_PORT = 1123; SSH_PORT = 1123;

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

@@ -14,14 +14,11 @@
forwardAgent = true; forwardAgent = true;
}; };
programs.gpg.package = pkgs.gnupg_2_4_0;
services.gpg-agent = { services.gpg-agent = {
enable = true; enable = true;
defaultCacheTtl = 8 * 60 * 60; defaultCacheTtl = 8 * 60 * 60;
maxCacheTtl = 8 * 60 * 60; maxCacheTtl = 8 * 60 * 60;
enableSshSupport = true; enableSshSupport = true;
pinentryFlavor = "qt";
extraConfig = '' extraConfig = ''
allow-emacs-pinentry allow-emacs-pinentry
allow-loopback-pinentry allow-loopback-pinentry

14
nixos/justfile Normal file
View File

@@ -0,0 +1,14 @@
switch *args:
sudo nixos-rebuild switch --flake '.#' --impure {{args}}
fix-local-path-issue:
nix flake lock --update-input imalison-taffybar
expire-home-manager-generations:
#!/usr/bin/env bash
set -euxo pipefail
for user in $(awk -F':' '{ if ($3 >= 1000 && $7 !~ /nologin|false|sync|shutdown|halt/) print $1 }' /etc/passwd); do
echo $user
sudo su - $user -c 'home-manager expire-generations -1days'
done

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,9 +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@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"
@@ -42,4 +45,14 @@ rec {
]; ];
agenixKeys = hostKeys ++ kanivanKeys; agenixKeys = hostKeys ++ kanivanKeys;
allKeys = loewyKeys ++ mikeKeys ++ kanivanKeys ++ deanKeys ++ alexKeys ++ hostKeys; allKeys = loewyKeys ++ mikeKeys ++ kanivanKeys ++ deanKeys ++ alexKeys ++ hostKeys;
railbird-sf = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDozY/3Cd9npaYPCgIn/E7MjW9c7Zb5/wTO5Qi7yRU45 root@railbird-sf"
];
micahKeys = [
"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

@@ -3,7 +3,7 @@
{ {
imports = [ imports = [
../configuration.nix ../configuration.nix
inputs.nixos-hardware.nixosModules.dell-xps-17-9700-intel inputs.nixos-hardware.nixosModules.dell-xps-17-9700-nvidia
]; ];
modules.base.enable = true; modules.base.enable = true;
@@ -15,14 +15,21 @@
modules.syncthing.enable = true; modules.syncthing.enable = true;
modules.fonts.enable = true; modules.fonts.enable = true;
modules.nixified-ai.enable = false; modules.nixified-ai.enable = false;
modules.gitea-runner.enable = true; modules.gitea-runner.enable = false;
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
environment.systemPackages = with pkgs; [
android-studio
];
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
services.xserver = {
videoDrivers = [ "nvidia" ];
};
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;

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

@@ -7,6 +7,12 @@ in
../raspberry-pi.nix ../raspberry-pi.nix
]; ];
users.users.nginx = {
group = "nginx";
isSystemUser = true;
extraGroups = ["syncthing"];
};
modules.raspberry-pi.enable = true; modules.raspberry-pi.enable = true;
modules.base.enable = true; modules.base.enable = true;
@@ -40,6 +46,15 @@ in
defaults.email = "IvanMalison@gmail.com"; defaults.email = "IvanMalison@gmail.com";
}; };
# services.nextcloud = {
# enable = true;
# hostName = "nextcloud.railbird.ai";
# config = {
# dbtype = "pgsql";
# database.createLocally = true;
# };
# };
services.nginx = { services.nginx = {
enable = true; enable = true;
recommendedProxySettings = true; recommendedProxySettings = true;
@@ -53,6 +68,23 @@ in
proxyPass = "http://[::1]:8222"; proxyPass = "http://[::1]:8222";
}; };
}; };
"cache.railbird.ai" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://192.168.1.20:3090";
};
};
"syncthing.railbird.ai" = {
enableACME = true;
forceSSL = true;
root = "/var/lib/syncthing/railbird";
locations."/" = {
extraConfig = ''
autoindex on;
'';
};
};
}; };
}; };
@@ -66,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

@@ -8,6 +8,7 @@
features.full.enable = true; features.full.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
android-studio
linuxPackages_latest.perf linuxPackages_latest.perf
zenmonitor zenmonitor
]; ];
@@ -25,13 +26,13 @@
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
modules.postgres.enable = true;
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
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

@@ -15,6 +15,7 @@
modules.fonts.enable = true; modules.fonts.enable = true;
modules.nixified-ai.enable = false; modules.nixified-ai.enable = false;
modules.gitea-runner.enable = true; modules.gitea-runner.enable = true;
modules.postgres.enable = true;
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
@@ -44,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

@@ -62,6 +62,8 @@
modules.code.enable = true; modules.code.enable = true;
modules.syncthing.enable = true; modules.syncthing.enable = true;
modules.fonts.enable = true; modules.fonts.enable = true;
modules.plasma.enable = false;
modules.gitea-runner.enable = true;
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/a317d456-6f84-41ee-a149-8e466e414aae"; { device = "/dev/disk/by-uuid/a317d456-6f84-41ee-a149-8e466e414aae";
@@ -77,13 +79,15 @@
[ { device = "/dev/disk/by-uuid/129345f3-e1e1-4d45-9db9-643160c6d564"; } [ { device = "/dev/disk/by-uuid/129345f3-e1e1-4d45-9db9-643160c6d564"; }
]; ];
environment.systemPackages = with pkgs; [
android-studio
];
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
home-manager.users = forEachUser { home-manager.users = forEachUser {
home.stateVersion = "23.11"; home.stateVersion = "23.11";
}; };

View File

@@ -13,6 +13,7 @@
port = 3090; port = 3090;
}; };
modules.gitea-runner.enable = true; modules.gitea-runner.enable = true;
modules.postgres.enable = true;
boot.loader.systemd-boot.configurationLimit = 5; boot.loader.systemd-boot.configurationLimit = 5;
@@ -29,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;

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

@@ -0,0 +1,70 @@
{ config, lib, pkgs, inputs, forEachUser, ... }:
{
imports = [
../configuration.nix
];
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = true;
modules.extra.enable = false;
modules.code.enable = true;
modules.games.enable = false;
modules.syncthing.enable = true;
modules.fonts.enable = true;
modules.nixified-ai.enable = false;
modules.gitea-runner.enable = false;
hardware.enableRedistributableFirmware = true;
environment.systemPackages = with pkgs; [
android-studio
];
services.xserver.dpi = 96;
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "thunderbolt" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
services.xserver = {
videoDrivers = [ "nvidia" ];
};
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.production;
hardware.nvidia.modesetting.enable = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
services.asusd.enable = true;
fileSystems."/" =
{ device = "/dev/disk/by-uuid/fc06a54c-cc45-423a-914b-8dfcb5939106";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/B28A-829A";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/27f277a0-b552-43a0-904d-625e48922bb9"; }
];
networking.hostName = "strixi-minaj";
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
home-manager.users = forEachUser {
home.stateVersion = "23.05";
};
system.stateVersion = "23.05";
}

View File

@@ -6,7 +6,7 @@
options = { options = {
imalison.nixOverlay.enable = lib.mkOption { imalison.nixOverlay.enable = lib.mkOption {
default = true; default = false;
type = lib.types.bool; type = lib.types.bool;
}; };
}; };
@@ -27,12 +27,20 @@
settings = { settings = {
keep-outputs = true; keep-outputs = true;
keep-derivations = true; keep-derivations = true;
substituters = [
"https://cache.nixos.org"
"https://cuda-maintainers.cachix.org"
];
trusted-public-keys = [
"cache.railbird.ai:KhnvcouxtIU2zxUcjJsm4bUK3o1S3p8xMf9qfZGF7/A="
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
];
nix-path = nixPath;
}; };
channel.enable = false; channel.enable = false;
nixPath = [ nixPath = [
"nixpkgs=${inputs.nixpkgs.outPath}" "nixpkgs=${inputs.nixpkgs.outPath}"
]; ];
settings.nix-path = nixPath;
}; };
nixpkgs.overlays = [ nixpkgs.overlays = [

View File

@@ -17,13 +17,14 @@ final: prev: {
}; };
}); });
picom = prev.picom.overrideAttrs(_: { 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];
}); });
expressvpn = prev.expressvpn.overrideAttrs (_: { expressvpn = prev.expressvpn.overrideAttrs (_: {
@@ -48,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;
}; };
} }

32
nixos/postgres.nix Normal file
View File

@@ -0,0 +1,32 @@
{ pkgs, config, makeEnable, realUsers, ... }:
makeEnable config "modules.postgres" true {
services.postgresql = {
enable = true;
package = pkgs.postgresql_15;
ensureDatabases = [ "railbird" "public" ];
authentication = pkgs.lib.mkOverride 10 ''
#type database DBuser CIDR-ADDRESS auth-method
local all all trust
host all all 0.0.0.0/0 trust
host all all ::1/128 trust
'';
ensureUsers = map (username: {
name = username;
ensureClauses = {
superuser = true;
createrole = true;
createdb = true;
};
}) realUsers;
# initialScript = pkgs.writeText "init-sql-script" ''
# CREATE DATABASE IF NOT EXISTS railbird;
# \c railbird
# CREATE SCHEMA IF NOT EXISTS railbird;
# '';
};
services.pgadmin = {
enable = false;
initialEmail = "IvanMalison@gmail.com";
initialPasswordFile = (builtins.toFile "password" "This is the content of the file.");
};
}

6
nixos/rabbitmq.nix Normal file
View File

@@ -0,0 +1,6 @@
{ pkgs, config, makeEnable, realUsers, ... }:
makeEnable config "modules.rabbitmq" true {
services.rabbitmq = {
enable = true;
};
}

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env sh
rm flake.lock
nix flake update --impure --inputs-from .
sudo nixos-rebuild switch --flake '.#' --impure

View File

@@ -1,48 +1,48 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 ZgrTqA K4oHCwQSxZ1cppAdEPDgn+3dU+LSgDIfAU0by61sLSc -> ssh-ed25519 ZgrTqA O0XHnLd6cH/2OZyZWRvB028wmx8x8b4ojoqzidpANQM
fZe+0S7OMpGCEjvc1nRIYCbnorob+VVmsKuqfF8W8b0 tQXIb/FsHcXwBet9icQrU1gYxpWUXOMFnxhHq+pJegc
-> ssh-ed25519 ZaBdSg J8j0FbAPl4Qpib86klH5zTUgsw3cN8mVIYzl3NwcKQs -> ssh-ed25519 ZaBdSg dXtxOGI6j+NyJadTzlhTkb+6/rf5BEtUeZCnH4SjpA4
i5o2r1MuIgS7Nn8kEqndDrBzQYbQHNskJrfQ4YdL6kU UCqDgtXh3tMFGz0xDyWn5I81S91CRrEJ9j4LAUN14vI
-> ssh-ed25519 MHZylw jaWeU0jQ/B21yGKexPCXFvD3iX7s/sx2/ipyd3eRgUA -> ssh-ed25519 MHZylw GGmyYlC28NKCP+uuAQBO3EIqB+XY63SCkDN4e/WdGkY
6DIihnfwP7CxHe4MuNhCtJwHYxS+kJHvvQ1dPsUC8Os GVzmq2tmIJvFnmMnvO12Ok8gOofTRBt20HH586tNzps
-> ssh-ed25519 sIUg6g ntffSUnIvDQ0LjnEhqmuvChB8Sh0r+b/uHnOLCe+XGU -> ssh-ed25519 sIUg6g +VSuYouQxNM8Ch9xTIdokrtAK6RU5NoMNN6nUAr+rQQ
PcqirbvgQfbwXuglHeLLcWIBW9Y1h10MTWDVKvGC7WM GDRltKHjD6D4d9Z0vq04M6ELi53GdZZFAZde/V6YzuE
-> ssh-ed25519 TnanwQ xwUFbOhYArMRVs6/LTwRSTeTL4hcTmm0Lc0umSKWYjs -> ssh-ed25519 TnanwQ HeLm9uq5waI09epfKCsRLFO0Ll/V9Rg6y7LAOjGKLmc
te8laPg+SWEYlzMKi7k8SWbxOvRBldfq1/yLK1zsHXU jjpTs70FeSaxBH3OyvEfGl71kpVRZmtaCkS29VXehVw
-> ssh-rsa gwJx0Q -> ssh-rsa gwJx0Q
HyRLUjc/IFJ3E89A53Nkg4feaGYqAMJxxchQiOvossaBXa8q+ijm3rHIu7B1cFwj a6q+jlWud5INiCOwPH570EdyrEOahksIsz5ehCwi21xUpsw8uDAJvwJZ4LTUk7Pp
bHIjhjB0OHyTjG2e5opqpSf4Y5ZN46m+Yun2R+Bx9lWSpajqG0G48vZUyNVYczSH rgCu56ndd0LBqNAsqCO0NeP6rHj11Y9gVI1VAe8JZwQAd9uxP1wCFSamGPBAG3qU
7BmR1I7wMIr+twGRtzgkQT6bRJBIyNlzR85uIFxD6hXabKWMgOBJW7bS3jTnST5+ 6K7tSWxUJg5E5N8xn0UVasdC49PSadEBpvWOw7gxUcZSZk+zdXZkmNNJOJjblp48
elgjI9FKrZKXlfG3CockvmQzfSXa2f/RBoz1cYIDYKH1E1g5K4l1nXaX3UEIeLbf BzjLiFs/NEapIrpx80nXurSiyN5IV97vK3owXqqYSKOoBR2JWbVeYVO47cR9UN8G
mXCbevqQHkfSfL+MZOuBYp15qH+YCURNPe1moIQLPTeogKrL1wGdLQKZD1bnvWru df43ozz2wrG3tfVgy23JfRUPinDxPkUJ0AbkpD7aBuEJfFmQSDjyl+wGevf5GAOI
eeRNXTWdtflRPzDgEYzquw rTNpOz31YvchkiynnXLhyg
-> ssh-ed25519 YFIoHA D/qb8BMMQLet27WghcZ3R42cJtclMmIvt9HK51xbmAo -> ssh-ed25519 YFIoHA 9Sx54ArYGvWtaM64vIuh/xNfC00Kn/6OiIL7zkK/IBI
q5jPIGu5Xb/Qhq4aOvRkXMt3YqL13mpcbvQAZaEi+90 cHLc5wccimYC6ICqnz3e1hs+4XAHzRd32dj0/g+4q6s
-> ssh-ed25519 KQfiow W+8Ns+1XRLisGKJK/ZsBbHilt4MfdSNCCWEaf7WU3FQ -> ssh-ed25519 KQfiow p7igfY7SkJe2k9EZMy+VEr+uYnEZZSosmAJKOWwopDU
D4AHzgg8VKVYXFTxFMSVd2I9EjvpX33aTuNx+POPiSs z3HZmOrrhK6Ns5z5EOtlgoo6IROMuo2elRrnX/I9YvI
-> ssh-ed25519 kScIxg UrC0SCpqBLgzgzKHo5vyiznyw0XuLGvlaIaQ9pzSD0E -> ssh-ed25519 kScIxg de1921H/EqUtCsmjytrGa/9vx41qKO/jiTTNRXRK/xg
OOqxCww9ONPoSnc3jCioFymblURnt6LRGn7GRiv5MPg IzjtdSwv/FwgGyl6qumTvDi5imcUKolt5upP0hNDd1g
-> ssh-ed25519 HzX1zw l4+x9GZQEuMZ44l7faHKM2/qVxvlxMfeZZPn1zxVCmE -> ssh-ed25519 HzX1zw u7OB64Wzd4siphc3kyRbPwYswc/vn0eqtUiId5byuVE
VKNhloRSvOeTPoMNdHjdrwdrSuspmADtJXkiHHh8f0A t8CF85/o71ra6IAgXAfcoCZHs4VN/ejOQVsdUZaaLqo
-> ssh-ed25519 KQfiow ehBlMZZKtoAQoHlrpXWKdZqlZlRxb0ChQlVI6+lRUnI -> ssh-ed25519 KQfiow uzyI3JXAF3twmqSKDZAgNEMv/Su832geK/y46hKiJCg
fcRaIUF7hrLd5tiOApNpVRbneXw+o16PhNN84UIthqY qpbPTkQYUcPSuFEXoOnYmGLcAL2TH2XpkBOqeVvUVVk
-> ssh-ed25519 1o2X0w TZ9Oacj2RjbH8xA1Jm2ZeTadzP6EEWxhRKQA1qXqLx4 -> ssh-ed25519 1o2X0w u9pY09CQumynSF+9z59nuEuZFPwdVld8XQOLG0N4llw
mjfBINzktzGylI6jQVxnjkMBx+FObSX+DUn+V3MGvXQ i1HrE7Nk5O/h9eYGeq+nx5UCIgO2c0ROHcwUDiFFxoM
-> ssh-ed25519 KQ5iUA DM05V4Av4tZmEuA2YHi+MsecDNAM8SJe7S4GTLJgFzE -> ssh-ed25519 KQ5iUA zpOP9fMu7Mqm0LbkA78KInXworz+LGpovjk5mIOOfVM
cmzJWiUNfYRnjaHN15V82NwZVK0aP1U+6D2LwCm6fCI Q2y9sMSgwIahs+7ceXY6bYha87uXcD28irc4zRYbOSE
-> ssh-ed25519 AKGkDw bYtN1r09N5Dp2/I4FqM8axT7eOelcuZOkeBjnLmCEhw -> ssh-ed25519 AKGkDw mLi5T/ia2gQ9z357LYQUbgUQ37DLPhbRlR3LkPvOPk8
aoWTidCHSj44RSa9KsKfcSAc7AbRQApJBLBQbiROACU rPUwUtTwDAbn49GgLO9vfW/P8hfrhf4znvrmHiiPXLE
-> ssh-ed25519 0eS5+A jQ5PSkWblPM6lGu4h25EDDHYLa7sGs+lEKXPqJa5HA4 -> ssh-ed25519 0eS5+A DomPBIFcr3Wxi1sfGzEBKTpRruHijRX5CDh7xk/mQgg
smh/u69PfMx2EqylwqrUi6CAgLUJeoM+M8W10nTGx2M u9hQHSq3w/NBv3zpIpbX3bMk2vYaNn8dl079zz4cRmE
-> ssh-ed25519 9/4Prw GkiZaxXpmoZWr7z1oZti8Duu3otcan+41Y588lj5igY -> ssh-ed25519 9/4Prw kczIhptmCQmYolhBX+omXqbtTuqqEeL8Mnx2k/1c3Wg
K9CXZhfK6OvNyGmXsLwNFXbME8JWkSAkHHika2d/CIo 3QBDp0WfYP8Ni3zZ3xk8yC5WscRa+niwjO+6Q2MR9Is
-> ssh-ed25519 gAk3+Q NkURRxA3xrGDVVrrpZ/DRcUmQSekNratAm7oNFsfETE -> ssh-ed25519 gAk3+Q HhCggnhkMhbZG1VyyjtibA7eAnnhS+ZVDMuKmFW+fiQ
cxxRshJK5Z07z6+zR/A/YpjJL5iVYU5MJFqn2Ayb57A 7URzpfoMkgD/Jn0N2FV5WJxLpDOPkmI3W7yA5G+MyQg
-> ssh-ed25519 X6eGtQ dGRh0CZ85+eMWTl5Jw9xKV+hudCd/68cKIUv2yBFHk4 -> ssh-ed25519 X6eGtQ KBzu6+tTigAYC+ifRi5rGyocU0l1PfBj2KuK9yasUiw
pGaVck8ofB1zfa40HPVmg6Ie5IBGtcHcrBjYzgyMdME ShtvUv9tuuvYf7dHDnBIQtLWVkN9gaP6ryyeCVoNVIU
-> ssh-ed25519 0ma8Cw vStc4U0W3tFYLt7UM7c14cDPKBMZ8V8P/7pLNWwGGQ4 -> ssh-ed25519 0ma8Cw 4kkPaMRoYuYflcHDAzBAaWd9+Q3CXV97Hs7d8sFIU3w
KUnDkVWvPcZOah0J2fvRuUpPdqO7Y3S+RO45T5AOcn8 7JQH4QYVnnxhjfr0wQTqLieGc3G5ymEBdivqO2/vEWM
-> o9|-grease =+0PJ {o J4(=&# U%mg -> ssh-ed25519 Tp0Z1Q 3GL4a2CUqmbEK0POxjUADiUtnA96enIKavGEJBr4QTM
Ee6Nr/v2nVUTnuAZQbpDQow1p3415iGgPpUvPM8FKAc RP5mZ7PKqB29cU5ir3wiX7CDM6KuqBysO2g9HyONlKE
--- HPRO4P0TAjUX7A3WH8f/WMTRrrkAHOrazZlz276pDdo --- hLdA7jp69UiOM2LP3bMxOCNnHUWwcgL2BbSsz3+D8lM
<EFBFBD><EFBFBD>ʿ<EFBFBD>/<2F>2<EFBFBD>ȓ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'6aIAcʻ<63>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>+<2B>E<><45><EFBFBD>*nJ1 <0C>u<04><><EFBFBD>A<EFBFBD>и<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>6<EFBFBD>g@<40><>_xO<78>T<10>Ǧ<EFBFBD>ѭ<EFBFBD><D1AD>.+<02>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><1B><>ua<04>z<EFBFBD><7A>p<EFBFBD><70>Ҝ<03>ع~<7E>z<EFBFBD>H<EFBFBD><48><EFBFBD><EFBFBD><EFBFBD><12><><EFBFBD><EFBFBD>W|}<7D><><EFBFBD><EFBFBD>U;<3B>)M 2<EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>Q><12><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2-<2D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>><3E><12>B<EFBFBD><42><EFBFBD>(<28>^~<7E>(<28>ۻ<EFBFBD><EFBFBD><EFBFBD>?<EFBFBD><EFBFBD>n*T<><54>MK;oN<6F>W<EFBFBD><57><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD>; K븬=.<2E><><EFBFBD>Ȑ<EFBFBD>J<EFBFBD>U+<2B>a<19><>Q<EFBFBD>Zr<><72>g^<5E><EFBFBD>"R<>0<14><18>J<EFBFBD><4A>c<EFBFBD><63>4d?<3F>Ȧ3<C8A6>,<2C>O<EFBFBD><4F><EFBFBD>

View File

@@ -1 +1 @@
1896Folsom.duckdns.org:U2FTjvP95qwAJo0oGpvmUChJCgi5zQoG1YisoI08Qoo= cache.railbird.ai:KhnvcouxtIU2zxUcjJsm4bUK3o1S3p8xMf9qfZGF7/A=

View File

@@ -1,48 +1,49 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 ZgrTqA ZhQai78QiRxex0hvG+zf+qL1hbTb4/JVJVWmDG8rAUU -> ssh-ed25519 ZgrTqA zsIOhgeJ7P+Ahrrh+coSbVgxw6RtPymZs5ll8X2BpTA
yKincV6tR86Qr28JC+0+LdXWLamys7D3Zka6JKFk1sk ON9VLFUzhFU/sxslo4Wt7EgohGdY+k58ri+G5naolLs
-> ssh-ed25519 ZaBdSg /bWisLCN6LpAZpgwqZvtp0Bpmr4EBDZKKw67w6DwCDQ -> ssh-ed25519 ZaBdSg /OzROBe2BME+hsdWTna+UV4tIEJK9lDDaZQnpUYWfmA
qdlTc0+bgu040JrSFHxVYhOOjBgL/mlpv41d7BnbBdw PjU8bzoct2GPytjXMxbYdPlGi9RgfaGNdlcdx8X9mcs
-> ssh-ed25519 MHZylw 7mUaZTrTTusBBB3c9bwD8xiYOEu2Yy0vD0/JBhIfThQ -> ssh-ed25519 MHZylw RKGcQyfmai8OeNo0c6zyW0KaZ4Mgt66qikomlON272c
x9vauqbTA+OL4yObO5EHsXhSurtYTYkSH8VQKl+B4Tk lO2AvsQ/3oWl0aNzitwjnFOV20H//wiuMY1MY/3WDrM
-> ssh-ed25519 sIUg6g wPIoib/eshBQvzAKdWqD6eWyWozxKuOf9h6ebG3KmUo -> ssh-ed25519 sIUg6g 8at+Rg94MgOePuOA9fUCPuxyleQHDaGPnsaNQNy6824
9D74H5EqsPlrNCgrDJo7ZofwNz0JvB0GzvwI4RAILRw CCNrSkINVlqAhi2rzAEjnzX+aJBj8S7D5OjOc7+282I
-> ssh-ed25519 TnanwQ aFqE3LuU6rjBTISLPzdz0dCcurg/8T6CLFI8ota2m2M -> ssh-ed25519 TnanwQ JQ5HncLZsUKpXbUhRBvS+UdMa8ARJBRIK75w2kuD0Hs
sFCyTPiqu6t/qqXSdmjnDVYjIGDLEGxUPYxerUTZlFU 6giGtalrSpcO2Xb7IxCvqhi7Op/wdNnhPqGOVxumutc
-> ssh-rsa gwJx0Q -> ssh-rsa gwJx0Q
yKgI9wnuT5YhySbf2mxkNwnSgdHv5fnaDI759day+jw7rwtV/Q/RoWPghCEfS3T9 q9YKescXHdvkSEEL+buHyFpedrkyP8KN+U5mwe4ML9bdFGsEESBjtwRs+wTHBKfR
+u/dFpNubL1+Sue/d0PxpJwaGV+nZb13/a1DpYZaaXYXIYiMpBaZR/3bCF1uSuOp DGueZFt8yloafYJJi2bDSOwQM+YQ7l3I9pmkdK8xppUpoxc5lsd3za4tZvl7Q3mQ
LAJAqS2WlG8+ysTj5EN+RBud4sFYYZ5gp+xk+wX/aY+NIxjQ/cKhZtlk9e9THAHJ JMgqfQ1pwpPG8YnKEnS1rZ6DFq3wJ4dH5dOkEcSkUflUse2GrVpkFHA6B0iF4Fth
WYdYkc25sp7DCsj5HlIczkmx2Wn2wajJvOKOBK95Jijn/y7+Zj+hTF2MKjfRJnGw F8cpVOpBh8zruRp5b1hNlzuC+4E4fgLC/dqo/WK17gEQmPBoVLmZurAsLUz63VBR
EoizLrr1EN2hkCbUJCwbef2NNBlUnI4A/LvKvr/2xmdw8aJc+lgEA1EssVab0Ugx XJ0cphb39Jx+OqID0pfoRx8F7pWNMXeziQ/figtfX1BVsvAgAfG/G52UQIHPBB9l
jgBHsW+70T/yT8CbSo+n6Q lRbUKp533f8J4B3uQlplAQ
-> ssh-ed25519 YFIoHA j1o7t3EaY5JBJFlxv406aS+5nrQbjj2xu2l/rkwsfhU -> ssh-ed25519 YFIoHA As3dFA/KZEv4uK3cABiksYAbbRKD/SAYHn6DMu5A/ho
CTlM2FFqysa2cu+tonQ+XtdkOe8lSx7bA0XX5cRuHh4 1Gui6pI2/Y/4fhL+sV+ReE/Q8YzOXpa+el9ieDI63hg
-> ssh-ed25519 KQfiow iTAhqJszH3qfZLcJEPsPUOfsg2lnWE1yGcFHmVqcK04 -> ssh-ed25519 KQfiow JfOvjZPAjSMEtyMj1ES5hgZQ3ChceOAgCUlAwdUWvHE
rAcVdfcrYcqDTUiyB1Xj3OsxQZGaXsd7XPT2ZENZxg4 cHOS/ogIjIt3/cpcsip/OUbTa/XTsqabxpih0Q4d+vs
-> ssh-ed25519 kScIxg SdRrX6jPDbApqYb0BUvoPENfO0EREAcVzov0mYiqfW0 -> ssh-ed25519 kScIxg Ss92xRhzfFLuQ7cZ9qOXWYlxPosZJiIA5WUtnBn5uAA
YxCq3/YI0RAI6tSe2S9eFFHRiRT+cgiqKG38R1Ed0rk eFbchoQ2WFT5QZlbMp3ie2IO+oN1gDx5LEHYgtmibyU
-> ssh-ed25519 HzX1zw +77mjckApgLbOn6r+E9ftgUOFFhDX7t6wQcCn8shA1c -> ssh-ed25519 HzX1zw CXFvvKTr+chLDjxeHIQq6YgfsyNguoqQgWMVCriq03s
LzP5oBw0YDfET9c6AiuRUrDPAblExBtPfO/aLM5bTPY AfZclyaLfIyVgRsSt6gFw/n3Gmjz9+qqcbS+jKLUTdU
-> ssh-ed25519 KQfiow /kv2czudYV5/knn4gm9UjWkTgK7h52OSwnBtQkJ4Ogs -> ssh-ed25519 KQfiow hoWtmj8tL3hYQaCusTzoEe2wy/hzOBQF/+ygYN0j0QU
x3U//RiRVbD2q+2BB7fRZ+D/mOuq2RBBrUwRaGaZ4t4 lvfAsrOv1vtQeYvlacFyg6rlEUeb2nwxelSCkHZL1JQ
-> ssh-ed25519 1o2X0w sWQrEHabTxKgPXctvjbozGia0TOFNY/nMkJkbg9wjDk -> ssh-ed25519 1o2X0w hSNKyIkQ5HrqUodLzWRrx+7RkxFg9A1TVuXbq+EFlw0
xKMdH3+dGd0I/GCuII/29D49X0pGTkB3lig3PizcfAA CXUpZnKGuXV34Tt4YWGL1hheYHSYB2JonuxmZC9BNZg
-> ssh-ed25519 KQ5iUA 0GxPwSfFhyFmgFjg17ZdQ+Np8ozLcZw4qnmJXf8e5Fs -> ssh-ed25519 KQ5iUA jbUaWkNa1xj8gKEalGx7wJWcVwwDWQ5Mzq7kw0Rk3BU
BmMvDNnEFqRHN/DQxTS2xYr64rsNwwcJ/ISx+tSgwIk y71HcF0ApASye3RgUHEThP1aFZZX5jocKHL25qZ2yZ8
-> ssh-ed25519 AKGkDw LP67Vi5XAYaeCRzKRvUol+9sYhj5DfRM2XFcfpBObCk -> ssh-ed25519 AKGkDw n5MO4SkU61QWZ57aG+383Q3raFRdomDMXGaDMgpQUSs
sQR+s300FSVp7MGvc0lAlsiriF1yYG+gv2O8qXLC0qI 4g2UfsdaNa++TRXNrUfVV8pj6irb0W+F10XfVAPJk+Y
-> ssh-ed25519 0eS5+A 6W01v2D+eo7ykmdt/c6+OngbOgPYhp3IRzOP7YycGAE -> ssh-ed25519 0eS5+A DMk4jzjnfPWzk3kz1gwebXqJ5a3yAvqTi1fXCEBLi2k
xSiwX/pPa6u+wMP99930ZALt3fUI52k56o9DIj5MJP8 JL5wGUcHNQDz4Czo6yQ2Eo5sc0/psjo0O0C9unL3V0g
-> ssh-ed25519 9/4Prw OhlAdZNG5GI60FecavQWNBHWOK5u+ONItDSnJ7kW6hE -> ssh-ed25519 9/4Prw 9RMdxeyRXz8pKxAaiOrd/D5UdImOB48C0OE4x1MbSnw
KBybj+3HZ4FCHht8lwBqJszCMZvylSoLrnOeKslDvi0 5m4g4ZSMLP99bYR0+twroVvnowpGBPolw/u0T/wDCmk
-> ssh-ed25519 gAk3+Q t5ItGM7NarFQYDU4Ae+39ZIdhmnX7liY+bqRtsqY8F8 -> ssh-ed25519 gAk3+Q Mos0Csznmt3wZF0fE+BKlqTMJgLKR/+Yih7DTNaLF3s
o+MKA8rMnXOUECFLf0bnqo4uohTjI2PN2ejvKSDbOeE EfaOXBbeS2q36lUfydPL35GcL0qzxEyG1/g1HUk+Bjc
-> ssh-ed25519 X6eGtQ JbV/sf9/HVBpVcCym7rDvSXUNvE7t1/eHQpIjksw0Cs -> ssh-ed25519 X6eGtQ 3uAhhDAEQQCu7MQmNbEAs8/bDxEeh50VefU+prQN5SU
UO0cDqFmcEQt+vasnMAc4O4bmEkLdkYzj9YzsMmsfzM jdp6QFF9Yw3zHrbmijJQV0CqlcoOm0BU3fkJTJAsxpY
-> ssh-ed25519 0ma8Cw WMNiHynQWBF/8ig0JF5tZcGruRDHHxlJOQtJalv7+lg -> ssh-ed25519 0ma8Cw +7QmGjIuxHsqeDxeLkiSvpaC7ztv+Ix0rEwEhbTeHG0
8U5QXXo3qV9QlRZobD2K4O01uQfzCd+BSViZf9fIRYo DUHK8xqoxnE78AMIh9z846eWcSToc6PruVERTOCdya8
-> }-grease WA! -> ssh-ed25519 Tp0Z1Q Alv9QyL6AzdLRTyN8pn413eeKW32ql3i/WVhasuKETI
O5uhSTAdlz9vuYJoelzj2CABhv00grAx EkkG/JknXDT5opzLSZ3Gbf8d3+FlHwwxzbZK/nCQ6ng
--- m3xCzyC0aFdfuklw+MDS1kx0oor72n4iP9w3iaYDpJs --- zN1cSiDL5ZI84c9DI4ewQLqaGZJS1IR6EoSlpQC44zI
<EFBFBD>1<EFBFBD><EFBFBD><EFBFBD>;b<>2_<><5F>Dz<44> a<><61>L15Otѓ<74><D193><EFBFBD>!+<13><><1B><>Pl<50>E<EFBFBD>23<14>"kzdFIE<49><45><EFBFBD><14><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD><77>(<28><12>,<2C><>K<EFBFBD><17> <EFBFBD>ط<EFBFBD>ۨ9<EFBFBD>H<01>G<>.Dh{<7B>:<3A><>p<EFBFBD>2<>yY<79><59><EFBFBD>`<60>o<EFBFBD>c<EFBFBD><63><><0E>Z
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T<EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>l2<EFBFBD><EFBFBD>O<EFBFBD><14>P<EFBFBD><50><EFBFBD><EFBFBD><EFBFBD>$<24>G

View File

@@ -1,48 +1,48 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 ZgrTqA swipq6Fr927DGa/aS5gVWl3TaGIwwyVn/pLb61AOjBc -> ssh-ed25519 ZgrTqA Hv1BMWICdw57RojY05L13liVfrg9qt6WxhiK6SAnqnc
WZjYqhvV4UuYRWE1VOhlrZZwDZl5LaTgwJRpidx6xBE vveVXJsn4MVYTLX/HvKaofXWOeJ0IMdWSeDljKSlSwg
-> ssh-ed25519 ZaBdSg j1wG6GxL536GI98uQDjvd3k4NX9i6xJaTURsOeM8tmI -> ssh-ed25519 ZaBdSg iyNGSlaHdvTctpECP5qXFSO0gC0skd25gCidX8mJhXE
omHmMEDCCjoCDb/CClty0crcLxyGgHUswr4HOP4L86k 4lC4UIFuPimSfPuavLjhR94M5roDeco5yRDClI4P0V8
-> ssh-ed25519 MHZylw BS4N9FGQvoBFYMcUKZ/0fNAR5b8gRdEqdBahN4IjhWc -> ssh-ed25519 MHZylw a8Ueer7YzQ1f4PPgedktuyNWa1r4cE3u2nDU61nC7UU
ZnDyOGMiVn2zyKisDpHu5o9AFg+Sxsor09p1BpL3hQU SETxeXg59NOznOfuLvduM2tKUolThR+CNWVCAj4fahc
-> ssh-ed25519 sIUg6g hGohSvdPUBmiD5XvGT5S8svHKeoX4iADR0wnTXBrvm4 -> ssh-ed25519 sIUg6g A/C7Vtugn4p3w7gc6s/ZBbTIUW2dOEcGwSVfm0kwY1c
q2kb1n46DQAceE0PpHwk32cycGur8eWGUwjyfp4o38M 66bSBWF+ZVKHvmEi+OEnfQF9m+7u+W0VnbDHxw9WY/Q
-> ssh-ed25519 TnanwQ 9eI4k/NX5NgWWsydOu0bi8OhBncIKS6xyMEzuJrYY1s -> ssh-ed25519 TnanwQ E2I98KMUGzMDiyJLUeZcLpb++1v8udmnONioiVmVzyk
dY4WyWbqcGS+RQUM391kGBlRXFzB5fIX+PpVQPvcD2I Sbc6bfi8VUyO6eBBkyv5DoEfVNd99K1G8NexeDmuDhA
-> ssh-rsa gwJx0Q -> ssh-rsa gwJx0Q
Hc+8CkU0zml1AMG2z4mxx8/0Yd0YlcdSkPgMqXk7TL+Pu7uJPLNfsxHDGKFKLeOJ vwnSvESPfLtlWVchHtsmPAYqUnSoKIjf16qwk6rKD976cDQt8TEQqKjbGExHNBZF
uWeyFRJHXx3gOoGo2sQpMcInnU1PL6bNq6r86KeUruYDUMgxak8Pze9LFv9ZzsfY hnXfPxLy4at1cJzPCVOsumGVdkTkGPhMkyOSTnzipGBA0hiFZ/YKmoqyl8MnOy9H
+nJ7u/kpSFvhRQR4J3cbwK3ZI2ezWHGi6vClGf+Orxt2k6I8WkwDPVC7+xeQDOFh RVd51JJLdmUUDUsVLdv8DEbYw2mTmLJsoum+LXi1oYHrYqhQvC2PhXH8b/jfn0En
pFa1V44OfcJXeSLEyioPKxB2LXBl30qcVcWiCMWyHt4GiITLovGKqYxrM1Q5jPXU vYrzIxbFaJ/xw6o+T+4G/5d3DCX4fb9ccYHnLhv9GQWvQPH+wEfYkKBaxriur1ir
Ty08vkYlgqGEOdvmE4LaBsZ/SnKukArUHykjstUp7bCqqVAaywy5zcDt9RhOnz3k 9gkE1kErSzemr0sND5NoZKkGqf4P4ear3Vnjtf1gg1Can3Fqutb0B9ou71RD111J
tTSB2Gy5/reAD4NqbLb8Sw SupcBHc0D7Kc47CTzI/V4w
-> ssh-ed25519 YFIoHA 5dSh3gD/8VZAzoUqs0qhcPl91+i+Bf9et1DXXDukr2M -> ssh-ed25519 YFIoHA HSIHZ70ZSLrbeieWFfRI8Syj5QVr3X3g3J68ZEsOSSg
2GUCUGw0lqyJj9Doed75mG5ix3La9BjeLUd39ZiTeyg 8veYBdbZfkqQ/7YvpFeE7pjWR1hZ9HF4JfM5yPUdl3Y
-> ssh-ed25519 KQfiow Xv1iY0dBtz3V8T5GyPET9BwqbX4Y4af7eecBY7y1Anc -> ssh-ed25519 KQfiow 4Ofzo/KS6qE+bb2O2l9p+Xl7sVSyYztBW1wy7e8aGCk
ts5ErCZqFcRTf6lLprZrr2np8o6BBGblRPrOh44UFNA gzeCLM85g+tSGYFAM3z03HVwyO67sriOVgL6uiOGWV0
-> ssh-ed25519 kScIxg G2Je9Qp1A9Zj9b5luvK2sJO1SWy2AZKGcM6EHKigPns -> ssh-ed25519 kScIxg MNZ5ZwjuGahkB/N3KlIzCwQjtenikYhCcqOqUsotG3c
bKIxxBdJ+DiRWuXRNDilOKxQJdVekzs9IwR7GiTireY SvDAuGNWu1SG7EEQLJboFJ0VKEAbcc1rZbg9LCdxtyk
-> ssh-ed25519 HzX1zw wMhENDQMUsij9CbQaxkVIglL6WBZlDeZbRLqm7otEAg -> ssh-ed25519 HzX1zw 9Z3XU4h4otPcP+3hx4gA3t3/T5RJAOyf/Lm/gWK8Y28
gzlH0PS+wgoHm9RiJnOwJtxWdAILLHNGOd/lsk35vCE WEpitv/XIXxHg0Rmf2zibIq8Vrf01ieEPJ9teXgHp1g
-> ssh-ed25519 KQfiow 3U/Gl7VGyBSCaQ06XLIatyCUsu/78MvyuyUXoSi3Djw -> ssh-ed25519 KQfiow HF3fZ69+NwB+1tyZDoBb+vL7S0sAB4VtFbteA8l3myE
HV+Dj3VpnCdzz7XuRfhfJGhAD+7Fv+5vb60VZI2/T/k EPE0dZ4HAsE2SLXT+BlDUrWGGNKlBUQZLYVKiOYwvs0
-> ssh-ed25519 1o2X0w HsEk1SiUhTqOTAw6DminH+BAc5Y7Peogb3BuGpgB6FM -> ssh-ed25519 1o2X0w NQodm0eoA8H57E1Lgt11GubQIXXn+9a9Ho79akD1FQ8
Zm4j5robwQS5T2sBOiSNPncXkltdBgYfYu/d2qgKcQA pG8VFyXUBsrTKEZnR/pCU5pZaIBu8s4l02tv27IFBO4
-> ssh-ed25519 KQ5iUA hvAKzXWUKMyNaJxWuk2Ath21FI0UJUWVO8GkVS01iTw -> ssh-ed25519 KQ5iUA /XRx2bwU4u47q0pmFFjnmopgeAFDRcdwVUgiZvFZBEU
8WGPzRRaxrVuX8gTe9+P//oM8Opk6tcVJbQ+WLTdzEg hb7OR5qsZ2ctqoi9F9yoJiOSCMIEFhsKTxmTzTlNcgs
-> ssh-ed25519 AKGkDw 3ALLobyiLBam2jGvDTnvQnFDKwqMu6Sms6VK6A9jCSg -> ssh-ed25519 AKGkDw MDy7x7w+m12Un+WJzIjlT1sqFUqyMgvs5cUX96YtTBE
LA1XgPi4EvZ+RYKaYyYVMThEu+edYyQyOccfX7arCco 4idv3M2g8lkjGTXiH3zxR3sORP3K6OijlCF2vTlGDs0
-> ssh-ed25519 0eS5+A L+MOMKygaYRXXslO2pp7smRudxO3SFCU1Y2OXxbjyyQ -> ssh-ed25519 0eS5+A GxaSMOtNOuri6nFhtEmPCUAYO7ULTRgfhoSEhwsQhTA
EScEV5/7m+HSNhvFYj1uOvKf/vTj/T5pSr62cWkEYyY eFGFTZB2z4zBOp+yuU9ryvhNh25v5S5bT77+XYlZ3eo
-> ssh-ed25519 9/4Prw 1VFfT7FpfFEFfnx/Tf1VQYKvEbc+raAnveL7xckM+AM -> ssh-ed25519 9/4Prw 2dVb0418rDvJEJ8yYDm3+eofjwEA0r8tuloPN+VC01c
oYZ2WuJ0BE5T/j25EACfB/cjLCP9IElCnKla6aZPLD4 uVjqjHdZCvfZJKZukaDT0m2SL1S0CMB/exuNeIEBlH4
-> ssh-ed25519 gAk3+Q zhmxSdCJmIySnMINqbKxNjmVctS9eHX4rTKqC0z+xGc -> ssh-ed25519 gAk3+Q 659Yfnz4QIdJCq1X3FxiDyL2F9QQEBSxyjnx+SCl3CI
GSnqECoK+bj3aRWvQ2ALVV0VFznk7fSr77Vcv+oWpl0 VuGpJwysc8y3Mq/HrIJP5DY1DdMJC7QlXTlyoCaWbzw
-> ssh-ed25519 X6eGtQ 5xUEtBKxwQLtlmz4Ne05pjUsxeXFRZEn3rIEnk71tXI -> ssh-ed25519 X6eGtQ hYe08q7Sofe8mdwVTCitTayJNbV9Tl9Bkt4RPexxMDU
fG2mfswiyhZB9J69Y91zo0YocbDnftd2lIkv0knbqys FhU5gPGYUi6DBMt2O1wY5uL25dyI3aGhXEFXfgyUgBQ
-> ssh-ed25519 0ma8Cw o+sHqr3FeOdpdrSKMCFl6M0YypkFUklOuOcdTuxzjFg -> ssh-ed25519 0ma8Cw z0Di7JjAJLIcQx2+B01JVBRbmh9fV1T0+Q6E8S+xGjw
s6veJeLpYv4XcHGv/fvHTDBV2LzN4lkkgMiw9r3Tmh0 507pjrUEDf7r/DY0zC3gGj78uifvpe13BHKVtetSPFw
-> cFiHfJ[~-grease U^| y& -> ssh-ed25519 Tp0Z1Q PMwAaVX/1envqO+cf93hMvw7skIHIwDHizPpjn3zLWk
eE+uq9nid3cWH7UO/044x6hCr/ZBZUwRIQIMi7X0yFDf4We54/kRGdA sNGxgzKWwS29pTBnv8YVQwGm7WzH0LnYXfqYjwsJ+gw
--- yja3ejJfODu7JOeNwFGq3l73whtWcDCBdqV3zM7R3Us --- 7ziHLKL/XsD7aJ+uEbNNNwxEC05vAINt+E5+Lvhm7oE
ɠkޞ<EFBFBD>,%de<64>lmJ_E9%"<22>G<EFBFBD><47>7<EFBFBD><37>w<EFBFBD>r<EFBFBD><0F><>zj<7A>c@<0E><16>ڋ2<DA8B>JM FSw<53><77>օJ<D685>Ǝ<05><><EFBFBD>{~E<><45><0F>}}!- <EFBFBD><15>;<3B>K<EFBFBD><4B><EFBFBD>Tc6L<08>$<03>s<04>O[3<><33><EFBFBD>U<EFBFBD><55><EFBFBD>t6<74>s a S<>n<12><>#jE^qh<19><04>5eɈQA<><41><EFBFBD><13><>2<EFBFBD><15>I/

Binary file not shown.

Binary file not shown.

View File

@@ -1,50 +1,48 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 ZgrTqA nxDhZDKcFwSoxR/i34N//ivTJDLC/11977XU4VmaWxg -> ssh-ed25519 ZgrTqA gwgbZfsmN/IZSoLT93ftwBDJ9FMFkumWuDYLAdR5mDw
JEwXfBrRVtkOkrpmsU+Zk4YAIrxZkBbsTmUXOtOR6eo wjVFV+RNqRUomklgh+/I+upUzOjIF7NbeHDG/ZfAkXU
-> ssh-ed25519 ZaBdSg 22smm7JR4fwhhlb5sNo9Qrfyd70NZCDEQqQNrhfamzo -> ssh-ed25519 ZaBdSg vfpZjIfCwFXEkEUrErLcCSigL4Uqm0/NZkIyzMkJmC4
aVwrulW5nWBqVLfB21A5wVdKYOpJq44venb3qXjpr+Y NgGeogehq3w0AUawo9blKKMrr1HfwSseUndNSvA0cDw
-> ssh-ed25519 MHZylw eOjkoAZZjqMKZgCH+XOsdX7QfOAh23Qh7byqgWLvbEg -> ssh-ed25519 MHZylw 9gx87i2+xptkEFAq4brfSa28StOcKHrBrQ6YdPrEXVw
2HUuAPBYmMwfyAD/ZKoYkwknPWwvldHpfHrOc8BMHXs Wz0TkHL3865UNTalO5GLyla3eh5HO8CU1OpvmFnUz1Y
-> ssh-ed25519 sIUg6g DTno5u3GShRGLl3O21bMAeworZSGPTHyawVkQUdOCX8 -> ssh-ed25519 sIUg6g kXECNgiZ+7BenXVIvbioQwYb0Kni3uCAyHgRgbw11C4
1EKEyC0g0Bzdut5kj5+YcTVW+QqWxXX0INKHOh1yQmY +ky0U9p0KaAu35zSOSNHXPmHFqdIf8BGAveLDMxpeTU
-> ssh-ed25519 TnanwQ duKkCYjd1yIG4rRPWyN8KF7Ktc8yRa2t5urLGzOYqwA -> ssh-ed25519 TnanwQ G5nA7iVSLYTx4TE5Xb5G/69JKJ9qm8xpYq3xi4A7ZDE
72Q4lVsHbAAmxfxazFk1Uhd2WgY1tDtA3Bma81oyDQo yMW2ny1+QuPB+xzSRxxdYN5bjKZiJVY04qN6W+V1Y3E
-> ssh-rsa gwJx0Q -> ssh-rsa gwJx0Q
U15JflZHy2YXgUL+YbLw21GGrjo9kUUGBIUy9zviyfRze2FsP/s64o4I5RcMHZQE IEv+jd2oOZskPWM/LWUb9ZLA8IzRfaBQTafgQyEzVoD7v8lbfpMKTI31ylxJQSvh
fMeSZkZSECPW55EnyNXPP58B9afruHPttq0cA+8KhmvN92pTJFVW3B29NZvAmbg+ d+gutl9xgGtVDHXjGdNKbDHwAVzYaz3IbvP+Vje9jtSqH6A0AU+1OqXeRzI3ZAux
yw6k8m9CbTTNj1YAiPP4zoW5VA5bWB9vNsTC42RLN+mXvnk3jHhJiyQ77E0m6dsX oBJlCEGZqSBspA8AhH3cv4ion0G6iC1wmqaIb9Nk/qnzfBvtE/cIpqErv19byVUj
gT6JePlb8iOySx6i90/b6PuFB23i2QFnyBUsGcwhU4VPqPcNEoXZwpS9ibbQoXYW pZr5NviDXETV29Gz2HDyv3RsZ4wfJE/npebSu+ORakOH6PLRtnMpB4aKOensv31Y
Ce15tbkfjm7HffI8cnrnJh3HpO+3onoqfwJLSm7v1twGGN3neqJU31ywFPE5kvtA UJQMTHNuJRgPdxgSI0P9W/LaCSMT5vuXR4ETz4vEqDNzcFm1ekqfY8821/AbOtlD
J53Ii0JuEjqghm9GaspfTQ Q2c0zr2C+ayGW5zwGp2XTQ
-> ssh-ed25519 YFIoHA 44F44WcZamqz8iYwS4HQhqT1zNdUZDCI+Zfq1zlpGjQ -> ssh-ed25519 YFIoHA UMEeywWPiRXx07jalhLcS4/TmK+gwg8nWdtBpM/IJzI
dyroggIjVoJCFayVjmp2zN7m6s9uDECkXUL8XJQ9uFk 9SDhcDfTgwRi7HJ5zL9i8jHL6i00oi6y/qaTzsjb6uc
-> ssh-ed25519 KQfiow /50omkmktdLNxaOHB3ImSrtL+wCtKQqVH8nGyo4Q8xE -> ssh-ed25519 KQfiow furHqLazJ3qLEIod24dfGPfu6ie7zutEXDV0N2NGYDY
90cGcqXOePnHjAhn262MeuMzn3odfKrgwsky1yE+6Hg Se5igVc1LJtobjLioH05RPtQfUh5jjYV/bRgU3RL4dY
-> ssh-ed25519 kScIxg j/12yl3KUndaxmFovvXeWvNjDiS4gLmTu60h091vFCE -> ssh-ed25519 kScIxg mBFDyzrNBg33LQAJMvlikmd7h0X9d7Eus/p86PF8mxU
hscYo/JdGuH9jFiZl7qKP7nNwiBsTKwMgqLK1SLPXPM MCHgXOGu9AE83VulyxcPEwbfbiymqiZ9c6p3IqLzhak
-> ssh-ed25519 HzX1zw /+sbKjdDKP7tzxD5Bi3KXLf/qKbIdXqkvgv5VVMtGgc -> ssh-ed25519 HzX1zw dAgBHAtVniUDV5W/MGrQX1cQh+P+cpHErnxCMn/b8A0
kv7Bv79YUyVy2MpMECI5+1Z/jz9hKG+guAB3joIEF94 zx0RxAMo2b6fzjx1U2hw/wHjz8dRXHcM+e20dXRkN98
-> ssh-ed25519 KQfiow z+1XnwF0MvV1WoLMOm1y1SBFmMCuBs52bEHNOVWHrSI -> ssh-ed25519 KQfiow NxL41InC5f7Za+/EIQT+z+vhzkkzQxOBRBqTe0J2U2c
AV1Desi4VRies/yqXcSjISdxPGvKn8aWYTfDFPMyzEY t0IJoVJ9Ap6P4D4kCM+TGgU2oKhTEpeiFktAQxM+C54
-> ssh-ed25519 1o2X0w q/W93yDVRDYcazyOIlf8jUBHSNng0GgPsqZA7r3Mn2U -> ssh-ed25519 1o2X0w ++MXOZdgCeKxiKyQ6mAiVz1i4dXnpyFSuhSq5hG3vVM
NtlRyyH4mbAnTAWBRpf5PL4vLyk2wSxAobSkYMBBX+A KeMSC/Cb10lF2ZvdLS5JXRkOE6iEcLtju3I6YMRQoqU
-> ssh-ed25519 KQ5iUA 0RLXvcC+cuMFXGgQQnCBJhWQU6+PglxxQaxlZSqVNE0 -> ssh-ed25519 KQ5iUA +5L7eIEu1RGoVXxpd/nJHi1/DIF82YCKtzt71mhKqRc
8WRPF58jm6m/gKubZgomqCZNpQoLA26fOzfY0Hqx3vI +La1804HzEBjkHeQdRGboNwIj8NarvZ/SJG3Ua4y+Vo
-> ssh-ed25519 AKGkDw Wi+UsCD95sykFp2c+5mGWGM1XgHxt7CAnSQR5vT8S2Y -> ssh-ed25519 AKGkDw Ru9l2BXa/LUZCn5DpMVDh4ca7w1JU2thmChLOeY8Ii0
TPk8gkZkmhdZnNiI1Wo1yRGkMgQdzf12dLJCDHISCjY GSua+XJoy3g9NNZ2qHstAbomR/3xKEAe6SOcn6g2Q/w
-> ssh-ed25519 0eS5+A Ip2KcVBtziu8Gtgz0ekmbk3G4yB4EUjUCQcaqXbQcjs -> ssh-ed25519 0eS5+A e2prXUG804KhjGO+rg/eXrZUQM73HxQ/BnN1vsHbuQU
t2y53xf2mEHGxFaeONMXa3/t+zGDCdQKb6RQecYfkmY nIANuBAF2Tk7hWT9HJJ4uvUrPbtUhsBW59eOkVnK5IY
-> ssh-ed25519 9/4Prw zkAdxlDmai9tSFu+a6a3jhoUnyxzZUpCiLgAyJ85uwY -> ssh-ed25519 9/4Prw DOtRMtKN5Q1YFq8AFrH/37SJxaHoaZuTMa/JVzT2Bzk
u+z5fSEzJtPvz7iEFFng4cn0WQJuMYO5zFsBCnXvXvs j+mawty5y3Ox2Nzp3TncHbR/rMmcmIQD5EfezhUUtWg
-> ssh-ed25519 gAk3+Q 6S8D1fDXLKPc9MvrnHbhMLqoY8f1W+yy9LrZq2345lY -> ssh-ed25519 gAk3+Q mZVlRxtH9jV7N6/aoJ1je+jkxuF7sffcGsLiYwjReHw
oSkGUfVxlqPnqS4sHqiywVg/cSu8rDiosw8KbXtlhn8 XOQKhZ60vBfHaO7u9Fkwy40po/jh/Y4/Yj/D4gRO0k0
-> ssh-ed25519 X6eGtQ kCtmcfUdTp8vJ8rBFDDJeJmk7s/uhlRuvrk9fhvQzw4 -> ssh-ed25519 X6eGtQ 8+iFJD1esMa/3yuKAx8fZBEJ2SxLdrzXhqqkEicRvgQ
lKwwGc+86muQv8dZ0BuivDHHR2vX/hXuhqDHNgq+/nA R9jJ7vDcxA/sOSF329GW8d18Jzdwot/BpFEl/knraSE
-> ssh-ed25519 0ma8Cw NAFySfIt7dQ3kTL73/7E1WzpOlcyd7PU1DyMsYWGnl4 -> ssh-ed25519 0ma8Cw LgbM+4liQS3j9acMcFnnp9gi4Gzkq6Xtmrm4KQoO5hU
JTZh0eM06/IOC8HNRxn5gF3KAlnBmmEUpxv5UFjuwks TX50NCZoZpH4SzS7ZfkDbEcGO/A3dzRJXvtDqxjzsuk
-> ZhDG9-grease > ~YTLl -> ssh-ed25519 Tp0Z1Q yHfAA3IRIM3rDcPNoV9qh1RU7g6LX9aelELZGXVt7Wc
MzCy45d4My1EJc2k/SzhXa2v9geyu45HhXth4R/CMejeVSk+NuTfB1UhSp6iCErU QIlWb0xzr+RpVwcyBqr8oRR4WrOz9st4fFSKNCEXCWE
eK4qPQoPCx2z1ihs5fQCC+lf55jE88+tP9aDqYPnTzXVPPHMNpDYLQYAow --- ztKYvZNf3AP9x0CiM2gtLQEIRHtkwAEgaBRHWJSZuKc
--- dVpM8R96RIKRuG6yQ672A543LxhU9ttuiSrbG4fcsvQ @6<>ۑ34p<34>oq<6F>Dv<44>ub9}`<60>I <15>ɞ[Y +<2B>&<26>&n<>3<EFBFBD>
D4'Vp<56>
Z<EFBFBD>x YA`<60>x<EFBFBD><78> :<3A>S<EFBFBD>5u<35>W[<5B><>u<>

View File

@@ -0,0 +1,48 @@
age-encryption.org/v1
-> ssh-ed25519 ZgrTqA l1KhMBYmv+TZzBET8kptlZsQqzk3PWm4KA1YbQ7pLDw
XQdF+ZjcWyWs1oprvb5J5GWL9qhQ2oyTiAHU580I9Us
-> ssh-ed25519 ZaBdSg HpBQZKCjSZLWOgUhlZNBSQdEh4VqHyIRsnWeqOoNu1w
olbfsFPUKa6n64WxIjqSfzEN0Sv69rkMem7l4BSdRO0
-> ssh-ed25519 MHZylw i3v/ahcgJ0eNpv+eyLcLW5HFbJgDxmILPwRIfYbfYSo
gNFYiAJFaeTE2psIhpAOEbdh8qpNPkHhQ+JimwLWHMU
-> ssh-ed25519 sIUg6g qhpWT0ZYGs7L9phprKuuTc5x3ONa5HxfJrml9hZXCDA
bSUNBSgE4THO24IldTR6UDl1nibM6wJVhfQDNgXDHoQ
-> ssh-ed25519 TnanwQ oIiKhCPi2Q6Aie4hdnMM+GD0X1AP+RRYX3MhPZr6mwg
+eQAf9brHo6aFjChm0AhUcF9taFNqrwIITVanvAJBZI
-> ssh-rsa gwJx0Q
bPnrY1qe+cJIrAL66CjfIoHrwpyIsJ3hxMnjecNpbYwj0VD2FDy8oLknXvUs+Qr7
9AVJXYnkJ2qP/KSxZe0Kq4yvuIVu30CcibMWdA+FbDSC+BGhkFuVMbn87ewujBZO
yckIiiW0Z26mmBWTc2wOxJvQBsvNmEzJqt75g1SKjZYd4yD2ZHybLZkd5S2CRNnE
P+9UZstX+ZGQT7N4xCaYi1nBn3ZyDx6QfUtWPK+W+ZBxCmeCWSKA6GdPhG3Xy/sD
7Emq3VQpFwByBzgno7u3XzhY+RgGDDWz9YnvieUPT7VloXnjD+2+CqiS5zYj4ueM
5VHE4pYUTczXWBe2kurwpg
-> ssh-ed25519 YFIoHA zgTafEG44X/fXwXLIlogjs45fAjoEMtWwOH1bJiUXA0
vp/8r42Zr97CVwG5K9F8be5OUy9lAjqMC/86mgsHyok
-> ssh-ed25519 KQfiow 0mtQJsqu9ilrlYIcxEURoPR4v26ovNb+xK3HsA67J3k
sUGJ2uJXmDCzjWVGvD+kQq/k1Kjh1GWxalx66PdbRLo
-> ssh-ed25519 kScIxg G/D+dmQhzFH8baIl1/LEcFm6Srag72DfUwMi2lU4FSI
lUm3v86TvpXOCEOD7x2c6OQfglVlNpz3RJQKgLos4A0
-> ssh-ed25519 HzX1zw mOWnNPTDS2uWUhaBDh5W20sa6L8Sv82B/i5fyYtBg2I
ml3ypIN6Hk9ZLWAHgeeX9Fl69cVo0quKKnIOzf0gtiA
-> ssh-ed25519 KQfiow +KbirvF1s4PLCPVko1UuvGkPUWT4ysU7IURr61WBYFI
EIEFzIrqBu0eF2qsJ0sNYWVLdxUVWhER05C//iU8Hik
-> ssh-ed25519 1o2X0w SEi4GVg7eYsP4H5x+FzMWaHzQ10qYuD63DtlNbdtEjg
hvVJMGz0mrfKYua9kfc+QfZgAqAapKlRoxmJQvX076g
-> ssh-ed25519 KQ5iUA DH/T6YbQufZDEejYJwyTvxeR2dn/CaTm1i68Rh03yyU
u3sMfE0YupucU58UVrCkEsVKPWCvxEfDDCvRhON0J+4
-> ssh-ed25519 AKGkDw N/s4jeBT7J8oTXqiJhfNRzUuxR9PTyGApTqCjERFH10
oxEicNoou7wTRuLra2lNHUGp6ZAVNMAV88X/UTdI16M
-> ssh-ed25519 0eS5+A mJLNn95SfVF6fBBmPJHBxeGH74+hCbHVC3CHN3bcr1c
mVc2Rsz6tXZlPGSMNNmmo4sbPN36we7YVy17mXkwKas
-> ssh-ed25519 9/4Prw moIGBpA5A/k4RqRFbiESz4LjB57/e7CV4Usp0kJ+o1Q
MCDzUd0ZM8jEFPkcHaYXcCBeJT7L6vkqfSlpZQ/sG5o
-> ssh-ed25519 gAk3+Q DkXPTEBi/E6aZkDQeeXPMs/rhg+ZyipHQ5PfbrutMSk
lOlrZmHIgLzUkMUYjWwVs7c3oR3xA3PEevT41nXkKcs
-> ssh-ed25519 X6eGtQ FnKi617TVTcL4xNmWCiYdFZXqN46WaoGS9XUsR4cvSY
STQh6M7mB15fSvndYx7wei1M/NLuKx7P1IGfjfzW+VY
-> ssh-ed25519 0ma8Cw jNGzFMl5ln7nhFcmZkzLcMDlCliMTP0d9FI0pA0PaDQ
sgMfIzoC4fi2aMvtvxNpifw2pXeJJtB/rI1Js8qZmlM
-> ssh-ed25519 Tp0Z1Q 4H03FYzl4l7Qy96uo+WxUcpQiWWXdEPva8nPcIPg71w
pza0c3a9aTnXFs/MT3wkORn6WUKQmxW/xqAaorZHmSA
--- qteXhOgvLyIakAwNEcpK5Mtk0aERS+2hNZFT+bmE/HU
<EFBFBD>Z<EFBFBD><EFBFBD>iCG(k<><6B>fa<66>?<3F><><EFBFBD>k<02><><EFBFBD><EFBFBD><EFBFBD>}<0F><15><>

View File

@@ -9,4 +9,6 @@ in
"gitea-runner-token.nixquick.age".publicKeys = keys.agenixKeys; "gitea-runner-token.nixquick.age".publicKeys = keys.agenixKeys;
"gitea-runner-token.jimi-hendnix.age".publicKeys = keys.agenixKeys; "gitea-runner-token.jimi-hendnix.age".publicKeys = keys.agenixKeys;
"gitea-runner-token.adele.age".publicKeys = keys.agenixKeys; "gitea-runner-token.adele.age".publicKeys = keys.agenixKeys;
"gitea-runner-token.railbird-sf.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
"nextcloud-admin.age".publicKeys = keys.agenixKeys;
} }

View File

@@ -1,8 +1,9 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
security.pam.sshAgentAuth.enable = true;
services.avahi = { services.avahi = {
enable = true; enable = true;
nssmdns = true; nssmdns4 = true;
publish = { publish = {
enable = true; enable = true;
domain = true; domain = 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

@@ -1,2 +0,0 @@
#!/usr/bin/env sh
sudo nixos-rebuild switch --flake '.#' --impure "$@"

View File

@@ -12,6 +12,11 @@ let
jay-lenovo-wsl = { id = "F3HW6DZ-B7BFACJ-SRAUM7Z-56TXQJ5-5WKZT5A-GKXAHVD-YLXFJ4M-G7OJQQC"; }; jay-lenovo-wsl = { id = "F3HW6DZ-B7BFACJ-SRAUM7Z-56TXQJ5-5WKZT5A-GKXAHVD-YLXFJ4M-G7OJQQC"; };
jay-lenovo = { id = "AP5ZUKJ-QBVYWCN-DYHR3UB-JJXRWNI-CAORGYM-HWRKHEH-ZJSTRLN-PP5USQX"; }; jay-lenovo = { id = "AP5ZUKJ-QBVYWCN-DYHR3UB-JJXRWNI-CAORGYM-HWRKHEH-ZJSTRLN-PP5USQX"; };
jimi-hendnix = { id = "55JWW5K-4NY5DKT-TR4MVPO-UNOMQKM-J7TYCRF-CCCZGPM-FVRKHID-JVFLAAV"; }; jimi-hendnix = { id = "55JWW5K-4NY5DKT-TR4MVPO-UNOMQKM-J7TYCRF-CCCZGPM-FVRKHID-JVFLAAV"; };
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-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; allDevices = builtins.attrNames devices;
in in
@@ -21,8 +26,15 @@ makeEnable config "modules.syncthing" true {
chown -R syncthing:syncthing /var/lib/syncthing chown -R syncthing:syncthing /var/lib/syncthing
chmod -R 2770 /var/lib/syncthing chmod -R 2770 /var/lib/syncthing
mkdir -p /var/lib/syncthing/sync mkdir -p /var/lib/syncthing/sync
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 = {
@@ -31,6 +43,13 @@ makeEnable config "modules.syncthing" true {
sync = { sync = {
path = "~/sync"; path = "~/sync";
devices = allDevices; devices = allDevices;
ignorePerms = true;
copyOwnershipFromParent = true;
};
railbird = {
path = "~/railbird";
devices = allDevices;
ignorePerms = true;
copyOwnershipFromParent = true; copyOwnershipFromParent = true;
}; };
}; };

7
nixos/user-specific.nix Normal file
View File

@@ -0,0 +1,7 @@
{
home-manager.users.micah = {pkgs, ...}: {
home.packages = [
pkgs.neovim
];
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, realUsers, forEachUser, keys, ... }: { pkgs, keys, inputs, system, ... }:
let let
extraGroups = [ extraGroups = [
"audio" "audio"
@@ -27,35 +27,36 @@ 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 // {
extraGroups = extraGroupsWithWheel;
name = "ivanm";
openssh.authorizedKeys.keys = kanivanKeys;
}; };
imalison = userDefaults // { imalison = userDefaults // {
extraGroups = extraGroupsWithWheel; extraGroups = extraGroupsWithWheel;
name = "imalison"; name = "imalison";
shell = pkgs.zsh;
openssh.authorizedKeys.keys = kanivanKeys; openssh.authorizedKeys.keys = kanivanKeys;
}; };
kat = userDefaults // { kat = userDefaults // {
extraGroups = extraGroupsWithWheel; extraGroups = extraGroupsWithWheel;
name = "kat"; name = "kat";
shell = pkgs.zsh;
openssh.authorizedKeys.keys = kanivanKeys; openssh.authorizedKeys.keys = kanivanKeys;
}; };
dean = userDefaults // { dean = userDefaults // {
extraGroups = extraGroupsWithWheel; extraGroups = extraGroupsWithWheel;
name = "dean"; name = "dean";
shell = pkgs.zsh;
openssh.authorizedKeys.keys = kanivanKeys ++ deanKeys; openssh.authorizedKeys.keys = kanivanKeys ++ deanKeys;
}; };
will = userDefaults // { will = userDefaults // {
extraGroups = extraGroupsWithWheel; extraGroups = extraGroupsWithWheel;
name = "will"; name = "will";
shell = pkgs.zsh;
openssh.authorizedKeys.keys = kanivanKeys ++ willKeys; openssh.authorizedKeys.keys = kanivanKeys ++ willKeys;
}; };
alex = userDefaults // { alex = userDefaults // {
extraGroups = extraGroupsWithWheel; extraGroups = extraGroupsWithWheel;
name = "alex"; name = "alex";
shell = pkgs.zsh;
openssh.authorizedKeys.keys = kanivanKeys ++ alexKeys; openssh.authorizedKeys.keys = kanivanKeys ++ alexKeys;
}; };
loewy = userDefaults // { loewy = userDefaults // {
@@ -73,13 +74,30 @@ in
name = "andy"; name = "andy";
openssh.authorizedKeys.keys = kanivanKeys ++ andyKeys; openssh.authorizedKeys.keys = kanivanKeys ++ andyKeys;
}; };
micah = userDefaults // {
inherit extraGroups;
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.settings.trusted-users = realUsers;
nix.sshServe = { nix.sshServe = {
enable = true; enable = true;
keys = keys.allKeys; keys = keys.allKeys;
}; };
home-manager.users = forEachUser (import ./home-manager.nix);
} }

7
nixos/vscode.nix Normal file
View File

@@ -0,0 +1,7 @@
{ inputs, config, makeEnable, forEachUser, ... }:
makeEnable config "modules.vscode" true {
home-manager.users = forEachUser {
imports = [inputs.vscode-server.homeModules.default];
services.vscode-server.enable = true;
};
}

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..