system

Nix (home-manager) configurations for my computers

Commits at 726693105cfd496299142a5a120a7f0ca6106171

  1. 72669310 nvim: Fix Markdown ignoring indentation preferences Both configured values and editorconfig values. Shota FUJI authored at Shota FUJI comitted at
  2. 6466f86c Revert "nvim: Fix incorrect indent inside block comment in JS/TS" nvim LSP's indentation is marked experimental, and yes, it's totally broken. It completely disables the default editorconfig, other indentation mechanism and smart indentation. This fucks up JSON indentation inside a project with an incomplete editorconfig settings. Shota FUJI authored at Shota FUJI comitted at
  3. ee29c490 kitty: Remove unused font settings Shota FUJI authored at Shota FUJI comitted at
  4. 46a86b6a nvim: Fix incorrect indent inside block comment in JS/TS <https://github.com./nvim-treesitter/nvim-treesitter/issues/2544> Even though the issue is closed as completed, the problem still occurs. An issue on another repository back-linked in the above issue includes a comment that enabling nvim-treesitter's `indent` option solves this. This option may cause more problems than the benefits it brings, but it's working at least for now. Shota FUJI authored at Shota FUJI comitted at
  5. 93d52f54 nvim: Migrate TypeScript's LS name Neovim LSP thing. Name only, no behavior changes. Shota FUJI authored at Shota FUJI comitted at
  6. 2a016663 kitty: Switch to Monaspace from Dank Mono Dank Mono contains non-fixed-width glyphs and that makes macOS (and probably other OSes) think it's not a fixed-width font. With kitty's recent update, it only let us choose a font that recognized as fixed-width by system, so kitty does not render Dank Mono anymore. It's breaking change and so annoying, but kitty is still in v0.x. Honestly, Monaspace is much legible than Dank Mono... Shota FUJI authored at Shota FUJI comitted at
  7. 5ba443d7 Update Flake For maintenance. Shota FUJI authored at Shota FUJI comitted at
  8. 47bab6b9 nvim: Open file browser at startup In order to disable stupid intro screen. I hope Helix supports sane Vim keybindings... I'd like to avoid software that put irresponsible/political messages and slogans in it. But there is no other text editor available. Shota FUJI authored at Shota FUJI comitted at
  9. 6cb20bf9 nvim: Improve startup time Shota FUJI authored at Shota FUJI comitted at
  10. 04a2eb63 kitty: Reduce font size by 1pt By using this setting for some time, I found this is acceptable size and increased amount of information fits in a screen is so much beneficial. Shota FUJI authored at Shota FUJI comitted at
  11. 5b8fbc9f jj: Remove workaround for HM's config location bug Shota FUJI authored at Shota FUJI comitted at
  12. 9709245c flake: nix flake update Nvim syntax highlighting for Gleam has been very broken. I hoped updating Nix Flake would fix that and it fixed that. Shota FUJI authored at Shota FUJI comitted at
  13. b37eb046 kitty: Opaque window even on dark theme Transcluent background is surely useful for some cases. However, it was more distracting thus harmful to me. Shota FUJI authored at Shota FUJI comitted at
  14. b3405e78 kitty: Improve readability It was hard to distinguish kitty windows. Shota FUJI authored at Shota FUJI comitted at
  15. 02240eb1 nvim: Setup Gleam Language Server Shota FUJI authored at Shota FUJI comitted at
  16. 9769ad7e specialise: Don't print timestamp It's ugly and annoying. Shota FUJI authored at Shota FUJI comitted at
  17. 9ef1a710 nvim: Remove Trouble It's just troublesome. The new major version (v3) removes an ability to disable icons hence forced non-standard icon character, which ABUSES non-latin unicode range (some call this abusing "NERD fonts"). It also has been causing culmulative layout shift due to its "floating" nature. Considering overall UX including default options, it's perfect time to ditch the plugin. As for alternative, I configured diagnostics popover using Telescope and statusline (lualine) so I can see how many diagnostic items are in the file. I added Helix in 2e53e9f0c2db058531829407ff12c7f1da305a96 to hopefully replace neovim usage. Turns out it has more "features" that can't be disabled: e.g. automatically traversing parent directory to find "workspace root" (where `.git` directory sits). These kind of stupid designs accumulates to the point I switched back to neovim even though I partially adapt to tottaly inefficient subject->verb keymaps. Shota FUJI authored at Shota FUJI comitted at
  18. 046d2255 jj: Workaround for HM writes config to wrong location Shota FUJI authored at Shota FUJI comitted at
  19. 1fddeda1 helix: Fix broken default typescript LS config Shota FUJI authored at Shota FUJI comitted at
  20. 9bd2c52f helix: Disable stupid default options Shota FUJI authored at Shota FUJI comitted at
  21. aecb89be helix: Do not hide dotfiles What a stupid default. Shota FUJI authored at Shota FUJI comitted at
  22. 2fc70a43 helix: Improve selection visibility Shota FUJI authored at Shota FUJI comitted at
  23. e2ede6f6 helix: Show indent guides Shota FUJI authored at Shota FUJI comitted at
  24. 2e43e087 helix: Fix popups are harder too read Shota FUJI authored at Shota FUJI comitted at
  25. 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
  26. 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
  27. d4d5d06a nvim: Disable file creation on enter in file-browser while no search hit Shota FUJI authored at Shota FUJI comitted at
  28. 5fc88867 Update Flake Shota FUJI authored at Shota FUJI comitted at
  29. 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
  30. 0dada0df Fix Home Manager can't register MacOS GUI apps correctly Shota FUJI authored at Shota FUJI comitted at
  31. 99dbe628 Set default tab size for neovim Shota FUJI authored at Shota FUJI comitted at
  32. 20e9b8f0 Add reuse (copyright/license tool) to dev layer Shota FUJI authored at Shota FUJI comitted at
  33. 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
  34. 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
  35. 58823c17 Install Home-Manager It's convenient to run home-manager commands without via nix. Shota FUJI authored at Shota FUJI comitted at
  36. 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
  37. 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
  38. d7943bda Improve Atuin filter mode Sharing history across sessions (e.g. kitty panes) is beyond annoying. Shota FUJI authored at Shota FUJI comitted at
  39. 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
  40. 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
  41. be68a003 Disable ligature on kitty It causes more harm than benefit. Shota FUJI authored at Shota FUJI comitted at
  42. 0d89d096 Add `tree` command Shota FUJI authored at Shota FUJI comitted at
  43. 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
  44. 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
  45. 6725f096 Fix telescope and file browser hide dotfiles Really, really stupid defaults. Shota FUJI authored at Shota FUJI comitted at
  46. 9f5feb11 Disable nvim file browser's stats It takes massive space. Shota FUJI authored at Shota FUJI comitted at
  47. 47a5b18c Open file browser from the buffer's parent directory Shota FUJI authored at Shota FUJI comitted at
  48. 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
  49. 38bc80cd Restore kitty's font size It hurts my eyes, seriously. Shota FUJI authored at Shota FUJI comitted at
  50. db93ae21 Tweak kitty configuration for my liking An improvement and simplification after the long use. Shota FUJI authored at Shota FUJI comitted at
  51. 279bf55e Add Difftastic Shota FUJI authored at Shota FUJI comitted at
  52. fb0e0cd4 Disable annoying default features of ZLS (Zig LS) Shota FUJI authored at Shota FUJI comitted at
  53. 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
  54. c03885a3 Zig LSP Shota FUJI authored at Shota FUJI comitted at
  55. 742a024f Add note on how to compare Home Manager generations Shota FUJI authored at Shota FUJI comitted at
  56. 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
  57. ea28ee80 Flake upgrade for maintenance ``` $ nix flake update ``` Shota FUJI authored at Shota FUJI comitted at
  58. 6045b170 Add Atuin, rich shell history tool Shota FUJI authored at Shota FUJI comitted at
  59. 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
  60. 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
  61. 9b70797a Add config for MacMini M1 Shota FUJI authored at Shota FUJI comitted at
  62. 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
  63. edcd9106 Add go LSP Shota FUJI authored at Shota FUJI comitted at
  64. 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
  65. 83106b13 Disable shitty YAML auto indent on Neovim Shota FUJI authored at Shota FUJI comitted at
  66. 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
  67. 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
  68. 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
  69. 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
  70. 00ec0ac7 Prevent vim CSS filetype plugin adding hyphen as a keyword Shota FUJI authored at Shota FUJI comitted at
  71. 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
  72. 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
  73. 57e398a9 Stop zsh removing a completed space before & or | Shota FUJI authored at Shota FUJI comitted at
  74. 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
  75. 2d7cc374 Add global editorconfig Shota FUJI authored at Shota FUJI comitted at
  76. 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
  77. 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
  78. 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
  79. 7deda419 Update Flake lockfile $ nix flake update Shota FUJI authored at Shota FUJI comitted at
  80. 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
  81. d3e333d1 Do not use GPG on SCM server The server is mostly automated. Shota FUJI authored at Shota FUJI comitted at
  82. f7bcef79 Format Nix files ...forgot to format before commit. ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  83. 15577f90 Add screenshot to README Just as an eye candy. Shota FUJI authored at Shota FUJI comitted at
  84. 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
  85. 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
  86. 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
  87. 808e6f96 Remove empty `let in` Shota FUJI authored at Shota FUJI comitted at
  88. 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
  89. 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
  90. 93e7595e Add data inspection tools Shota FUJI authored at Shota FUJI comitted at
  91. 1bd67848 Fix invalid configuration for foot Shota FUJI authored at Shota FUJI comitted at
  92. 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
  93. a8cc644a Disable mouse in Neovim I can't believe they enabled it by default. Shota FUJI authored at Shota FUJI comitted at
  94. ec6751dc Disable audio bell in Kitty Fucking annoying. Shota FUJI authored at Shota FUJI comitted at
  95. 74b07d5c Add license Shota FUJI authored at Shota FUJI comitted at
  96. 7e5b48d9 Format with nixpkgs-fmt ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  97. 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
  98. af71a439 Add diagnostics panel for Neovim Without scrollbar and minimap, this is essential. Shota FUJI authored at Shota FUJI comitted at
  99. c33226a3 Configure auto-completion for Neovim Shota FUJI authored at Shota FUJI comitted at
  100. e84274c0 Configure indentation display in Neovim Shota FUJI authored at Shota FUJI comitted at
  101. 3e63bac9 Add border to neovim LSP hover popup It was too hard to see. Shota FUJI authored at Shota FUJI comitted at
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. e8e2e689 Format shell.nix ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  111. 16b61e96 Configure GPG key for Git This eliminates manual configuration on each machine. Shota FUJI authored at Shota FUJI comitted at
  112. 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
  113. 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
  114. f8d70761 $ nix fmt Shota FUJI authored at Shota FUJI comitted at
  115. 038f929b Configure formatter Shota FUJI authored at Shota FUJI comitted at
  116. 8b7f9c35 Terminal focused minimal configuration Shota FUJI authored at Shota FUJI comitted at