system

Nix (home-manager) configurations for my computers

Commits at 2e53e9f0c2db058531829407ff12c7f1da305a96

  1. 2e53e9f0 Add Helix (editor) I'm tired of neovim plugins frequently introducing breaking changes and adding annoying "features" and such. Although I hate Helix's subject->verb key bindings, sane-defaults and well-thought feature sets are worth the price. Shota FUJI authored at Shota FUJI comitted at
  2. adc27710 nvim: Suppress trouble's runtime error It's v3 update removes essential knobs and forces shitty "features". Definetely it's time to explore a better plugin or an editor. Shota FUJI authored at Shota FUJI comitted at
  3. d4d5d06a nvim: Disable file creation on enter in file-browser while no search hit Shota FUJI authored at Shota FUJI comitted at
  4. 5fc88867 Update Flake Shota FUJI authored at Shota FUJI comitted at
  5. a29d017f jj: Display all revisions by default Most of the time I run "jj log", "all()" is what I want instead of very partial of revisions. Shota FUJI authored at Shota FUJI comitted at
  6. 0dada0df Fix Home Manager can't register MacOS GUI apps correctly Shota FUJI authored at Shota FUJI comitted at
  7. 99dbe628 Set default tab size for neovim Shota FUJI authored at Shota FUJI comitted at
  8. 20e9b8f0 Add reuse (copyright/license tool) to dev layer Shota FUJI authored at Shota FUJI comitted at
  9. 44fe333c Fix completion for specialise command requires extra Tab The first `#compdef` is the culprit. I also added command description for subcommands. Shota FUJI authored at Shota FUJI comitted at
  10. 4e47fbba Unset/Clean feature for specialise command Toggling between specialisation creates a new home-manager generation. However, manually deleting obsolete generations by ``` $ home-manager expire-generations "-1 day" ``` also deletes the non-specialised one. The `clean` command is for this cleanup task. `unset` command is for, well, no reason. Because I could. Shota FUJI authored at Shota FUJI comitted at
  11. 58823c17 Install Home-Manager It's convenient to run home-manager commands without via nix. Shota FUJI authored at Shota FUJI comitted at
  12. 6a460b4f Convenience script for switching specialisations Since Home Manager's specialisation feature is experimental and UX is nearly non-existent, this kind of helper program is essential. Shota FUJI authored at Shota FUJI comitted at
  13. bb141f65 Utilize specialisation for dark/light mode Without this, I have to `git stash push/pop` everytime system changes dark/light mode... Shota FUJI authored at Shota FUJI comitted at
  14. d7943bda Improve Atuin filter mode Sharing history across sessions (e.g. kitty panes) is beyond annoying. Shota FUJI authored at Shota FUJI comitted at
  15. 7225f48e Disable ligature on kitty (entirely) be68a00326f0cfd704bc7fd3f2b6a92dcb72073f does only disable ligature for regular style: italic (e.g. comments) and bold style still use ligatures. I had to use `extraConfig` because Home Manager's Kitty configuration incorrectly models `kitty.conf`. Home Manager only accepts attrset with string, boolean, or integer value but `kitty.conf` allows specifying same key multiple times. Shota FUJI authored at Shota FUJI comitted at
  16. 7380a217 Use "splits" layout in Kitty This is what I wanted. I sometimes want main pane to be splitted, but neither "fat" nor "tall" allows me to do that. While this adds new "open new window horizontally" shortcuts, the total number of shortcuts remains same as I could successfully eliminated "switch layout" shortcut. Shota FUJI authored at Shota FUJI comitted at
  17. be68a003 Disable ligature on kitty It causes more harm than benefit. Shota FUJI authored at Shota FUJI comitted at
  18. 0d89d096 Add `tree` command Shota FUJI authored at Shota FUJI comitted at
  19. 69276120 Activate DenoLS when directory has deno.jsonc as well Deno supports both JSON and JSON with comments. Shota FUJI authored at Shota FUJI comitted at
  20. c216b78b Turn off Deno's fucking auto imports The amount of Language Servers implementing this kind of stupid "features" using opt-out strategy is insane. It's dissapointing dev tooling ecosystem became this stupid. ...this is still better than ZLS though. Shota FUJI authored at Shota FUJI comitted at
  21. 6725f096 Fix telescope and file browser hide dotfiles Really, really stupid defaults. Shota FUJI authored at Shota FUJI comitted at
  22. 9f5feb11 Disable nvim file browser's stats It takes massive space. Shota FUJI authored at Shota FUJI comitted at
  23. 47a5b18c Open file browser from the buffer's parent directory Shota FUJI authored at Shota FUJI comitted at
  24. b99f6cc6 Use Telescope + file browser instead of file tree The nvim-tree is okay at most: the keybindings are quirky and ergonomics for longer file/dirnames is bad, and most importantly, it occupies quite a few screen estate. Shota FUJI authored at Shota FUJI comitted at
  25. 38bc80cd Restore kitty's font size It hurts my eyes, seriously. Shota FUJI authored at Shota FUJI comitted at
  26. db93ae21 Tweak kitty configuration for my liking An improvement and simplification after the long use. Shota FUJI authored at Shota FUJI comitted at
  27. 279bf55e Add Difftastic Shota FUJI authored at Shota FUJI comitted at
  28. fb0e0cd4 Disable annoying default features of ZLS (Zig LS) Shota FUJI authored at Shota FUJI comitted at
  29. e4301d3b Disable autoformat on save for zig files This is in runtime (default plugin) and on by default, wtf. Shota FUJI authored at Shota FUJI comitted at
  30. c03885a3 Zig LSP Shota FUJI authored at Shota FUJI comitted at
  31. 742a024f Add note on how to compare Home Manager generations Shota FUJI authored at Shota FUJI comitted at
  32. d5e78c70 Add Jujutsu, a relatively new VCS I did `nix flake update` in order to use jujutsu@0.15.x, which adds commit signing support. Shota FUJI authored at Shota FUJI comitted at
  33. ea28ee80 Flake upgrade for maintenance ``` $ nix flake update ``` Shota FUJI authored at Shota FUJI comitted at
  34. 6045b170 Add Atuin, rich shell history tool Shota FUJI authored at Shota FUJI comitted at
  35. 55ad99a8 Ignore bazel artifacts Bazel creates "bazel-<directory name>" directory at a project root. Some projects only ignore "bazel-<repo name>" assuming the repo is cloned at the directory with same name. This is problematic on usecases such as worktree or clone with name provided. Shota FUJI authored at Shota FUJI comitted at
  36. 5b543d38 Switch to TreeSitter for syntax highlighting Builtin highlights are so buggy that I can't read my own code fluently. TypeScript one is especially broken: almost every usage of arrow function breaks highlighting. Shota FUJI authored at Shota FUJI comitted at
  37. 9b70797a Add config for MacMini M1 Shota FUJI authored at Shota FUJI comitted at
  38. e054aad6 Fix accepting autocomplete replace adjecent texts I don't know why/how it was ConfirmBehavior.Replace. Shota FUJI authored at Shota FUJI comitted at
  39. edcd9106 Add go LSP Shota FUJI authored at Shota FUJI comitted at
  40. 10d3b43f Temporary use yats-vim for TypeScript syntax highlighting Vim/Neovim uses outdated highlighting, which is broken for `import { type Foo }` syntax. Shota FUJI authored at Shota FUJI comitted at
  41. 83106b13 Disable shitty YAML auto indent on Neovim Shota FUJI authored at Shota FUJI comitted at
  42. 91dbfae7 Make trouble.nvim less annoying The auto_open and auto_close combo causes annoying layout shift. Turned off and let it take less space. Shota FUJI authored at Shota FUJI comitted at
  43. 90e94938 Migrate bat themes option to the new attrset one Changed and it says will be deprecated in a future. Shota FUJI authored at Shota FUJI comitted at
  44. aee4781d Update flake lockfile ```sh $ nix flake update ``` In order to use a new feature implemented in the newer version of trouble.nvim. Shota FUJI authored at Shota FUJI comitted at
  45. 4520b30e Prevent Zsh from sharing history across sessions This seems not a Zsh default: Home Manager's "nice" defaults. fuck. Shota FUJI authored at Shota FUJI comitted at
  46. 00ec0ac7 Prevent vim CSS filetype plugin adding hyphen as a keyword Shota FUJI authored at Shota FUJI comitted at
  47. 4625466e Prevent nvim-tree from hiding git-ignored files Fucking insane default. Maybe it's time to switch to better plugin. Shota FUJI authored at Shota FUJI comitted at
  48. f8cf7ded Configure key repeat parameters for Sway Arch distributed Sway seems to change the default config at some point and that makes the typing experience far worse. This commit is to prevent that from happening in the future. Shota FUJI authored at Shota FUJI comitted at
  49. 57e398a9 Stop zsh removing a completed space before & or | Shota FUJI authored at Shota FUJI comitted at
  50. 948461be Turn off retarted TS LSP features The amount of dogshit features they enabled BY DEFAULT is totally insane. Shota FUJI authored at Shota FUJI comitted at
  51. 2d7cc374 Add global editorconfig Shota FUJI authored at Shota FUJI comitted at
  52. d8ec7043 Remove "Icon" from macOS gitignore due to false-positives The rule requires two CR. I removed the line because I'm reluctant to test the unknown file. This rule caused massive false-positive such as `src/components/icon` being ignored. Shota FUJI authored at Shota FUJI comitted at
  53. 0b77a46f Switch from exa to eza exa has been removed from Home Manager and replaced with eza. Shota FUJI authored at Shota FUJI comitted at
  54. fb8258bb Migrate indent-blankline.nvim to v3 It has breaking changes and removed the option to disable stupid fake indentation. Needed to add idiotic workaround. Shota FUJI authored at Shota FUJI comitted at
  55. 7deda419 Update Flake lockfile $ nix flake update Shota FUJI authored at Shota FUJI comitted at
  56. 71c8db0b Configure zsh completion for Fossil While Fossil provides a completion file, Nix package only installs bash completion. As the frequency of typing Fossil commands is high, the impact of shell completion is significant. Shota FUJI authored at Shota FUJI comitted at
  57. d3e333d1 Do not use GPG on SCM server The server is mostly automated. Shota FUJI authored at Shota FUJI comitted at
  58. f7bcef79 Format Nix files ...forgot to format before commit. ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  59. 15577f90 Add screenshot to README Just as an eye candy. Shota FUJI authored at Shota FUJI comitted at
  60. e1d5aa52 Configuration for Wayland Desktop Environment Added Window Manager (sway), Wallpaper (swaybg), Application Launcher (tofi), Status Bar (waybar). Shota FUJI authored at Shota FUJI comitted at
  61. 2f14125c Configure snippet engine for Neovim nvim-cmp requires a snippet engine. It seems that a small piece of code can filter-out retarded snippets from completion list. I'll try when snippets distrub me enough. <https://neovim.discourse.group/t/how-to-disable-lsp-snippets/922/6> Shota FUJI authored at Shota FUJI comitted at
  62. 4222d067 Remove unnecessary lambda definition I didn't notice Nix the language uses currying instead of multiple arguments. Long and heavy use of imperative programming language is toxic... Shota FUJI authored at Shota FUJI comitted at
  63. 808e6f96 Remove empty `let in` Shota FUJI authored at Shota FUJI comitted at
  64. 69f12d5c Use `lib.trivial.boolToString` instead of manual `if` There is virtually no difference in character count. However, the former has better readability. Also one doesn't have to check there is a typo. Shota FUJI authored at Shota FUJI comitted at
  65. 0fdd65a5 Add non-bash activation command to README It's annoying `nix-shell` always spawns Bash despite of user's login shell. Shota FUJI authored at Shota FUJI comitted at
  66. 93e7595e Add data inspection tools Shota FUJI authored at Shota FUJI comitted at
  67. 1bd67848 Fix invalid configuration for foot Shota FUJI authored at Shota FUJI comitted at
  68. fcd115d6 Refactor to use Nix modules For more organised and cutomisable configuration. Previous codebase was actually a set of functions that return Nix module. By using Nix modules' options and config properly, it's easier to write host specific options. Shota FUJI authored at Shota FUJI comitted at
  69. a8cc644a Disable mouse in Neovim I can't believe they enabled it by default. Shota FUJI authored at Shota FUJI comitted at
  70. ec6751dc Disable audio bell in Kitty Fucking annoying. Shota FUJI authored at Shota FUJI comitted at
  71. 74b07d5c Add license Shota FUJI authored at Shota FUJI comitted at
  72. 7e5b48d9 Format with nixpkgs-fmt ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  73. 0f7086aa Switch nixpkgs-fmt Alejandra displays annoying sponsor bs at the end of format output. And the maintainer is not willing to make it optional or surpress it. Shota FUJI authored at Shota FUJI comitted at
  74. af71a439 Add diagnostics panel for Neovim Without scrollbar and minimap, this is essential. Shota FUJI authored at Shota FUJI comitted at
  75. c33226a3 Configure auto-completion for Neovim Shota FUJI authored at Shota FUJI comitted at
  76. e84274c0 Configure indentation display in Neovim Shota FUJI authored at Shota FUJI comitted at
  77. 3e63bac9 Add border to neovim LSP hover popup It was too hard to see. Shota FUJI authored at Shota FUJI comitted at
  78. 44d0e3fe Use pinentry-curses instead of ugly gtk one Home Manager defaults "gtk2", which is ugly and outdated it can't be correctly display itself in HiDPI monitor. Shota FUJI authored at Shota FUJI comitted at
  79. 58844078 Launch only one language server for .ts file Without `root_dir`, the two LS works at the same time. `single_file_support` is also needed because of lsp-config#tsserver stupidly sets `true` as default. Shota FUJI authored at Shota FUJI comitted at
  80. bc699d07 Add rtx (asdf-vm alternative) Not every project uses Nix. Also, Nix does not support version-based runtime installation. I choose to use rtx because of its asdf compatibility. Shota FUJI authored at Shota FUJI comitted at
  81. e6e744d0 Kitty (terminal) for macOS Initial motivation was theming (catppuccin) ... but declarative configuration, especially keybinding customisability is superb so I spent a time tinkering. Tmux-like pane (window in kitty) navigation is usefull in macOS, due to difficulity on using tiling window manager. Shota FUJI authored at Shota FUJI comitted at
  82. 9b6689ad Add workaround for macOS update breaks Nix bootstrap An update on today broke my MBP installation... Shota FUJI authored at Shota FUJI comitted at
  83. 3d28d02b Configure GPG when gpgKeyId is set Platforms such as macOS does not have GnuPG by default. Shota FUJI authored at Shota FUJI comitted at
  84. 321deef1 Fix macOS detection not working `builtins.match` needs to match _the whole string_, unlike other programming languages/stdlib. <https://discourse.nixos.org/t/nix-regex-match/7946/2> Shota FUJI authored at Shota FUJI comitted at
  85. 1efdd490 Configure gpg-agent only on Linux The service is not available on macOS. This causes error when running `home-manager switch`. Shota FUJI authored at Shota FUJI comitted at
  86. e8e2e689 Format shell.nix ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  87. 16b61e96 Configure GPG key for Git This eliminates manual configuration on each machine. Shota FUJI authored at Shota FUJI comitted at
  88. 61d0cedf Add installation method to README.md It's handy when the system does not have git. Shota FUJI authored at Shota FUJI comitted at
  89. 52fa5ae9 Fix Zsh customisation not working on Chrome OS It seems the execution order or something is different between Arch Linux and Debian (Crostini), so that Zsh tries to evaluate `LS_COLORS` before `vivid` is available. Shota FUJI authored at Shota FUJI comitted at
  90. f8d70761 $ nix fmt Shota FUJI authored at Shota FUJI comitted at
  91. 038f929b Configure formatter Shota FUJI authored at Shota FUJI comitted at
  92. 8b7f9c35 Terminal focused minimal configuration Shota FUJI authored at Shota FUJI comitted at