system

Nix (home-manager) configurations for my computers

Commits at 8412c772af578b4b7d7fd2f0409298c0c1687adc

  1. 8412c772 nvim: Fix hyphen being keyword in Astro file Shota FUJI authored at Shota FUJI comitted at
  2. 670e90a4 nvim: Disable CSS LS warnings It's useless. It does not emit useful warning. Shota FUJI authored at Shota FUJI comitted at
  3. 5d72565c kitty: Show window decorations Kitty sometimes opens a window on a non-primary display for some reasons (probably a bug). In that occasion, it's quite annoying to move the window to primary display in Mission Control then maximize the window via menu bar. macOS window decoration on terminal is extremely ugly, but it's still better than no control. Shota FUJI authored at Shota FUJI comitted at
  4. f7318cad nvim: Add keybindings for LSP actions * Rename * Highlight / Clear highlights * Go to definition These are the items I needed/wanted in my daily uses. Shota FUJI authored at Shota FUJI comitted at
  5. ec39fe7c Update Flake To eliminate 25.05 unsupported-something-something warning. Shota FUJI authored at Shota FUJI comitted at
  6. 72669310 nvim: Fix Markdown ignoring indentation preferences Both configured values and editorconfig values. Shota FUJI authored at Shota FUJI comitted at
  7. 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
  8. ee29c490 kitty: Remove unused font settings Shota FUJI authored at Shota FUJI comitted at
  9. 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
  10. 93d52f54 nvim: Migrate TypeScript's LS name Neovim LSP thing. Name only, no behavior changes. Shota FUJI authored at Shota FUJI comitted at
  11. 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
  12. 5ba443d7 Update Flake For maintenance. Shota FUJI authored at Shota FUJI comitted at
  13. 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
  14. 6cb20bf9 nvim: Improve startup time Shota FUJI authored at Shota FUJI comitted at
  15. 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
  16. 5b8fbc9f jj: Remove workaround for HM's config location bug Shota FUJI authored at Shota FUJI comitted at
  17. 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
  18. 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
  19. b3405e78 kitty: Improve readability It was hard to distinguish kitty windows. Shota FUJI authored at Shota FUJI comitted at
  20. 02240eb1 nvim: Setup Gleam Language Server Shota FUJI authored at Shota FUJI comitted at
  21. 9769ad7e specialise: Don't print timestamp It's ugly and annoying. Shota FUJI authored at Shota FUJI comitted at
  22. 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
  23. 046d2255 jj: Workaround for HM writes config to wrong location Shota FUJI authored at Shota FUJI comitted at
  24. 1fddeda1 helix: Fix broken default typescript LS config Shota FUJI authored at Shota FUJI comitted at
  25. 9bd2c52f helix: Disable stupid default options Shota FUJI authored at Shota FUJI comitted at
  26. aecb89be helix: Do not hide dotfiles What a stupid default. Shota FUJI authored at Shota FUJI comitted at
  27. 2fc70a43 helix: Improve selection visibility Shota FUJI authored at Shota FUJI comitted at
  28. e2ede6f6 helix: Show indent guides Shota FUJI authored at Shota FUJI comitted at
  29. 2e43e087 helix: Fix popups are harder too read Shota FUJI authored at Shota FUJI comitted at
  30. 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
  31. 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
  32. d4d5d06a nvim: Disable file creation on enter in file-browser while no search hit Shota FUJI authored at Shota FUJI comitted at
  33. 5fc88867 Update Flake Shota FUJI authored at Shota FUJI comitted at
  34. 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
  35. 0dada0df Fix Home Manager can't register MacOS GUI apps correctly Shota FUJI authored at Shota FUJI comitted at
  36. 99dbe628 Set default tab size for neovim Shota FUJI authored at Shota FUJI comitted at
  37. 20e9b8f0 Add reuse (copyright/license tool) to dev layer Shota FUJI authored at Shota FUJI comitted at
  38. 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
  39. 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
  40. 58823c17 Install Home-Manager It's convenient to run home-manager commands without via nix. Shota FUJI authored at Shota FUJI comitted at
  41. 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
  42. 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
  43. d7943bda Improve Atuin filter mode Sharing history across sessions (e.g. kitty panes) is beyond annoying. Shota FUJI authored at Shota FUJI comitted at
  44. 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
  45. 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
  46. be68a003 Disable ligature on kitty It causes more harm than benefit. Shota FUJI authored at Shota FUJI comitted at
  47. 0d89d096 Add `tree` command Shota FUJI authored at Shota FUJI comitted at
  48. 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
  49. 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
  50. 6725f096 Fix telescope and file browser hide dotfiles Really, really stupid defaults. Shota FUJI authored at Shota FUJI comitted at
  51. 9f5feb11 Disable nvim file browser's stats It takes massive space. Shota FUJI authored at Shota FUJI comitted at
  52. 47a5b18c Open file browser from the buffer's parent directory Shota FUJI authored at Shota FUJI comitted at
  53. 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
  54. 38bc80cd Restore kitty's font size It hurts my eyes, seriously. Shota FUJI authored at Shota FUJI comitted at
  55. db93ae21 Tweak kitty configuration for my liking An improvement and simplification after the long use. Shota FUJI authored at Shota FUJI comitted at
  56. 279bf55e Add Difftastic Shota FUJI authored at Shota FUJI comitted at
  57. fb0e0cd4 Disable annoying default features of ZLS (Zig LS) Shota FUJI authored at Shota FUJI comitted at
  58. 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
  59. c03885a3 Zig LSP Shota FUJI authored at Shota FUJI comitted at
  60. 742a024f Add note on how to compare Home Manager generations Shota FUJI authored at Shota FUJI comitted at
  61. 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
  62. ea28ee80 Flake upgrade for maintenance ``` $ nix flake update ``` Shota FUJI authored at Shota FUJI comitted at
  63. 6045b170 Add Atuin, rich shell history tool Shota FUJI authored at Shota FUJI comitted at
  64. 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
  65. 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
  66. 9b70797a Add config for MacMini M1 Shota FUJI authored at Shota FUJI comitted at
  67. 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
  68. edcd9106 Add go LSP Shota FUJI authored at Shota FUJI comitted at
  69. 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
  70. 83106b13 Disable shitty YAML auto indent on Neovim Shota FUJI authored at Shota FUJI comitted at
  71. 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
  72. 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
  73. 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
  74. 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
  75. 00ec0ac7 Prevent vim CSS filetype plugin adding hyphen as a keyword Shota FUJI authored at Shota FUJI comitted at
  76. 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
  77. 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
  78. 57e398a9 Stop zsh removing a completed space before & or | Shota FUJI authored at Shota FUJI comitted at
  79. 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
  80. 2d7cc374 Add global editorconfig Shota FUJI authored at Shota FUJI comitted at
  81. 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
  82. 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
  83. 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
  84. 7deda419 Update Flake lockfile $ nix flake update Shota FUJI authored at Shota FUJI comitted at
  85. 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
  86. d3e333d1 Do not use GPG on SCM server The server is mostly automated. Shota FUJI authored at Shota FUJI comitted at
  87. f7bcef79 Format Nix files ...forgot to format before commit. ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  88. 15577f90 Add screenshot to README Just as an eye candy. Shota FUJI authored at Shota FUJI comitted at
  89. 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
  90. 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
  91. 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
  92. 808e6f96 Remove empty `let in` Shota FUJI authored at Shota FUJI comitted at
  93. 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
  94. 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
  95. 93e7595e Add data inspection tools Shota FUJI authored at Shota FUJI comitted at
  96. 1bd67848 Fix invalid configuration for foot Shota FUJI authored at Shota FUJI comitted at
  97. 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
  98. a8cc644a Disable mouse in Neovim I can't believe they enabled it by default. Shota FUJI authored at Shota FUJI comitted at
  99. ec6751dc Disable audio bell in Kitty Fucking annoying. Shota FUJI authored at Shota FUJI comitted at
  100. 74b07d5c Add license Shota FUJI authored at Shota FUJI comitted at
  101. 7e5b48d9 Format with nixpkgs-fmt ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  102. 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
  103. af71a439 Add diagnostics panel for Neovim Without scrollbar and minimap, this is essential. Shota FUJI authored at Shota FUJI comitted at
  104. c33226a3 Configure auto-completion for Neovim Shota FUJI authored at Shota FUJI comitted at
  105. e84274c0 Configure indentation display in Neovim Shota FUJI authored at Shota FUJI comitted at
  106. 3e63bac9 Add border to neovim LSP hover popup It was too hard to see. Shota FUJI authored at Shota FUJI comitted at
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. e8e2e689 Format shell.nix ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  116. 16b61e96 Configure GPG key for Git This eliminates manual configuration on each machine. Shota FUJI authored at Shota FUJI comitted at
  117. 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
  118. 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
  119. f8d70761 $ nix fmt Shota FUJI authored at Shota FUJI comitted at
  120. 038f929b Configure formatter Shota FUJI authored at Shota FUJI comitted at
  121. 8b7f9c35 Terminal focused minimal configuration Shota FUJI authored at Shota FUJI comitted at