system

Nix (home-manager) configurations for my computers

Commits at f680391461ff048c16b57f6963e724a3c45ac93a

  1. f6803914 Configure dprint `nix fmt` is stupidly slow. I don't know which Nix CLI or the formatter program is slow, though. Shota FUJI authored at Shota FUJI comitted at
  2. b4992004 ghostty: Decrease font size by 1 pt Recently I almost always hit "ctrl/cmd+-" on a new Ghostty terminal. Considering how I rarely use 14pt/11pt font size nowadays, this should be the default values. Shota FUJI authored at Shota FUJI comitted at
  3. 1d110068 nvim: Migrate to nvim.lsp fully It was indeed breaking changes. Also neovim seems to launch every language servers at startup, I'm not sure this has been the case though. It's unfortunate Helix only supports insane selection > verb controls... Shota FUJI authored at Shota FUJI comitted at
  4. 30c298bd nvim: Install vim-fugitive For git blame. Shota FUJI authored at Shota FUJI comitted at
  5. e5346c24 nvim: Fix restarted LSP ignores client configs nvim-lspconfig silently updated initial setup way. `.setup` works for language server's initial run, but once it restarted (due to crash or manual restart) it no longer reads configs set by `.setup`. There is no changelog or release notes on nvim-lspconfig. GitHub's automatic definetely-not-a-release-note creation feature is net negative for software industry. Shota FUJI authored at Shota FUJI comitted at
  6. 1bfc2b76 home-manager: Migrate deprecated zsh option Shota FUJI authored at Shota FUJI comitted at
  7. 3632e0dc waybar: Improve style Dark/Light mode switch and more legible texts. Shota FUJI authored at Shota FUJI comitted at
  8. cbf5bb95 wayland-de: Install Atkinson Hyperlegible Next for waybar, but GTK+ cannot find the font. I kept it as-is for other apps (e.g. Firefox) Shota FUJI authored at Shota FUJI comitted at
  9. 15465272 syncthing: Configure admin GUI address for server Shota FUJI authored at Shota FUJI comitted at
  10. 428ee95a syncthing: Install syncthing For evaluation. Shota FUJI authored at Shota FUJI comitted at
  11. 6b41352f program/theme: Switch theme based on sunset/sunrise using sunwait Shota FUJI authored at Shota FUJI comitted at
  12. 3ef9418e program/theme: Refactor test code Shota FUJI authored at Shota FUJI comitted at
  13. a1d46dd0 wayland-de: Show current task in waybar Shota FUJI authored at Shota FUJI comitted at
  14. fbb81080 mise: Specify tools to read idiomatic version file The default behavior will change in a near future release. Shota FUJI authored at Shota FUJI comitted at
  15. 243fb839 jj: Migrate deprecated config option Rename only. Shota FUJI authored at Shota FUJI comitted at
  16. 35f6ccc2 Update flake Shota FUJI authored at Shota FUJI comitted at
  17. 0fddd8c8 niri: Seamless overview background Shota FUJI authored at Shota FUJI comitted at
  18. e59a995b wayland-de: Replace tofi with walker I'm still not used to the tiny bar at the bottom of the screen. Styling tofi was very limited also. The reason why I choose walker specifially is it reads light/dark theme from gsettings. Shota FUJI authored at Shota FUJI comitted at
  19. a10b7f63 jj: Add "author" alias command Jujutsu records incorrect author date—timestamp at when a commit became non-empty. As there is no options to update author date on changes, created a command to manually set current datetime to author date. This problem was recognized in JJ issue tracker and a PR <https://github.com./jj-vcs/jj/pull/3906> was created. However, the direction went from "reset author on configurable revset" to "fix author date on non-empty commit" due to simplicity concern. An option for author reset revset option may or may not come in a future, but hoping someone to tackle the problem is not a wise choice. Alias is hacky and future JJ updates may conflict or break it. But this incorrect author date is a real problem I have now, so, better than nothing. Shota FUJI authored at Shota FUJI comitted at
  20. bc252c5e wayland-de: Remove wallpaper Solid color is enough. Shota FUJI authored at Shota FUJI comitted at
  21. f3bc0a3b program/theme: Fix process invoked by systemd have no effects Even though running command manually (via terminal emulator) works, systemd service does not actually change theme. Set function succeeds, no panic, and still the actual value does not get the new value. I tried configuring dbus env vars and using `new_full` function to match function calls to `gsettings` CLI, but neither fixed the situation. I have completely no idea why changes through C API does not work. Shota FUJI authored at Shota FUJI comitted at
  22. d4447f9f program/theme: Automatically switch theme based on time Shota FUJI authored at Shota FUJI comitted at
  23. c5d9196a program/theme: Overlay my-theme for nixpkgs This new way is straightforward compared `lib.mkIf ...`. Shota FUJI authored at Shota FUJI comitted at
  24. 258e064a program/theme: Time-based automatic variant Shota FUJI authored at Shota FUJI comitted at
  25. fd303018 program/theme: Split theme source file into multiple files Tried to add a feature and felt congested. Shota FUJI authored at Shota FUJI comitted at
  26. e8dbbe61 program/theme: Use GIO API directly Calling CLI has performance overhead and adds massive error cases such as non-zero exit code and signals. Shota FUJI authored at Shota FUJI comitted at
  27. 6025713a program/theme: Build script for local development Shota FUJI authored at Shota FUJI comitted at
  28. 83654361 program/theme: Install only on Linux desktop Shota FUJI authored at Shota FUJI comitted at
  29. dea0a812 Program for theme switching on Linux Calling Atuin everytime switching theme is not smart way to do. Shota FUJI authored at Shota FUJI comitted at
  30. d85d7b16 zsh: Indicator for SSH session and Nix develop shell Shota FUJI authored at Shota FUJI comitted at
  31. 1d47bc31 nix: Workaround for Nix using Bash for everything They seems to have no intention to fix this. Shota FUJI authored at Shota FUJI comitted at
  32. 2390eb81 nvim: Install sourcekit-lsp nvim yells everytime I open C files on computer without sourcekit installed. Shota FUJI authored at Shota FUJI comitted at
  33. ea6eaa65 nvim: Treat .vapi file as Vala source code vim/neovim's default filetype config for Vala is incomplete. Shota FUJI authored at Shota FUJI comitted at
  34. 937e5ebe nvim: Disable stupid default indent for XML Shota FUJI authored at Shota FUJI comitted at
  35. 234a0a5c nvim: Enable swift language server (sourcekit) It does not support custom framework. Still, better than nothing. Shota FUJI authored at Shota FUJI comitted at
  36. aeb19ff7 nvim: Disable mini.completion two-stage completion Tried it for a while but it's just annoying. Rarely useful, rest is confusing and misleading. Shota FUJI authored at Shota FUJI comitted at
  37. d250bb2e nvim: Disable LSP snippets Most of the language servers correctly uses snippets. But some, such as gopls, abuses snippets everywhere and that fucks up editing experience a whole. I'm not completely sure the consequence of this change, but at least editing Go files are much saner than with shitty snippets. Shota FUJI authored at Shota FUJI comitted at
  38. febf1d98 nvim: Use mini-completion instead of nvim-cmp nvim-cmp suffers from window layout bug. https://github.com./hrsh7th/nvim-cmp/issues/1812 Totally accident, but mini-completion has better <Tab>/<S-Tab> completion experience compared to nvim-cmp. It's more natural and similar to one of regular GUI editors. Shota FUJI authored at Shota FUJI comitted at
  39. e48a23e9 Eliminate duplicated nixpkgs Shota FUJI authored at Shota FUJI comitted at
  40. 3038213c atuin: Prevent it from changing scroll position Some of recent releases changed the default behavior, and now I have to manually set this. Shota FUJI authored at Shota FUJI comitted at
  41. 1829e887 ghostty: Prevent HM from adding nonexistent bat syntax It has on-by-default option which blindly copies Ghostty's asset file. Since I use NUR package, which is an essentially `.dmg` installer, that file does not exist on darwin environment. Shota FUJI authored at Shota FUJI comitted at
  42. 768049c4 devbox: Add Devbox, Nix wrapper for dev env Shota FUJI authored at Shota FUJI comitted at
  43. 4d2983f7 niri: Tweak style to match the new wallpaper Shota FUJI authored at Shota FUJI comitted at
  44. d592beb8 wayland-de: Add wallpaper Shota FUJI authored at Shota FUJI comitted at
  45. 8c839855 License non-programs 0BSD and media files CC BY-ND 4.0 Zero-Clause BSD has much shorter license text that I can put the whole text into comment header. It also allows non-attribution so anyone can safely copy and paste whole code or a chunk of. OSS licenses are made for software programs and do not work well with media assets. Creative Commons is better choice for that purpose. I choose BY-ND 4.0 because currently a screenshot file is the only media file in this repo. If someone fork or reuse the code from this repo and put a screenshot of their derivative work, it's made from scratch not modifying the existing screenshot, because it is, uh, screenshot. Shota FUJI authored at Shota FUJI comitted at
  46. 07a4689b Annotate each files with copyright and license in REUSE style By explicitly annotating each files, introducing third-party files such as image and code would be much easier. With single `LICENSE` file and no license headers, there is no clean way to mark certain files have different license/copyright to the rest. By adapting to REUSE compliant annotations, license/copyright is clear to both human and machines. Shota FUJI authored at Shota FUJI comitted at
  47. 3591b2ab niri: Change default column widths and width steps Shota FUJI authored at Shota FUJI comitted at
  48. d5ddfd93 fcitx5: Use Wayland frontend Without this option enabled, home-manager sets legacy environment variables to start up script, which triggers warning notification from fcitx. Shota FUJI authored at Shota FUJI comitted at
  49. 0e97d2e7 ghostty: Do not split on Linux To unify window managements into niri. Shota FUJI authored at Shota FUJI comitted at
  50. 30c927c5 niri: Wrap vertical focus movement Shota FUJI authored at Shota FUJI comitted at
  51. b2746a2c niri: Configure column width/window height presets To my liking. Shota FUJI authored at Shota FUJI comitted at
  52. 009ec593 niri: Improve vertical window movement keybindings It was essentially no-op due to there were no keybindings to create rows. Shota FUJI authored at Shota FUJI comitted at
  53. db9a1355 niri: Darken background color The previous "base" color is also set to Ghostty's background. Due to that, it was difficult to see boundaries of Ghostty windows. Shota FUJI authored at Shota FUJI comitted at
  54. e9cd9a4c nvim: Change LSP hover border to rounded I found this to be more distinctive. Shota FUJI authored at Shota FUJI comitted at
  55. b07d922a nvim: Migrate to vim.lsp.buf.hover border option The previous way is removed in v0.11. Shota FUJI authored at Shota FUJI comitted at
  56. b71e62f1 ghostty: Open new window rather than tab in Linux I use Ghostty tabs in macOS because window management in macOS is joke. However, on Linux, Niri functionally manages my windows so I'd like to let niri handle Ghostty sessions. Shota FUJI authored at Shota FUJI comitted at
  57. d41949ec Migrated deprecated types.string to types.str Addressed a warning in CLI output. Shota FUJI authored at Shota FUJI comitted at
  58. ac7c3318 niri: Increased default keyboard repeat-delay It was little bit too fast. I noticed occasional unexpected key-repeat. Shota FUJI authored at Shota FUJI comitted at
  59. bc153fd8 Update home-manager The reason I kept its version is they introduced shitty Ghostty config due to rushed release. Time passed and their Ghostty config is now usable so migrated to theirs. Shota FUJI authored at Shota FUJI comitted at
  60. 2f46f869 Update nixpkgs Maintenance. Shota FUJI authored at Shota FUJI comitted at
  61. aadce327 zsh: Remove "exiv2" from completion list This fucking stupid name command line tool was installed as a dependency of some GTK tool (fuck) and messed up tab-completion. Shota FUJI authored at Shota FUJI comitted at
  62. 13d7c9a5 zsh: Prevent "dpipe" from appearing into completion list I don't know since when but today I hit "dp<Enter>" to complete to "dprint", "dpipe" stopped the workflow by popping completion list. I've never installed the program and I have no idea which tool is to blam, so hide that program from completion list. Shota FUJI authored at Shota FUJI comitted at
  63. 4a89d402 legit: Upgrade to latest ref For improved layout and enchanced datetime display. Shota FUJI authored at Shota FUJI comitted at
  64. 4b402341 legit: Upgrade to latest ref To workaround Android (14?) Chrome layout glitch. Shota FUJI authored at Shota FUJI comitted at
  65. b1d2f5fa legit: Enable syntax highlight Shota FUJI authored at Shota FUJI comitted at
  66. 3c319ed3 legit: Upgrade to latest snapshot To use latest clean config syntax. Shota FUJI authored at Shota FUJI comitted at
  67. a5b40cc4 ghostty: Migrate to renamed (fixed) actions Shota FUJI authored at Shota FUJI comitted at
  68. 97a5926f wayland-de: Migrate from sway to niri Shota FUJI authored at Shota FUJI comitted at
  69. c8c080d6 ghostty: Wrap Ghostty with nixGL on dev-linux home-manager introduced nixGL helpers. Shota FUJI authored at Shota FUJI comitted at
  70. 45cef7c9 gui: Enable module on Linux mini PC Ghostty is good on Linux too. Shota FUJI authored at Shota FUJI comitted at
  71. 6afd5244 kitty: Remove kitty Ghostty is good enough. Nix kitty causes build errors. Shota FUJI authored at Shota FUJI comitted at
  72. b01237b7 legit: Update to latest commit To use configurable tab width feature. Shota FUJI authored at Shota FUJI comitted at
  73. b1091a65 legit: Support "readme" legit has plain text `readme` file. Shota FUJI authored at Shota FUJI comitted at
  74. f219315d legit: Switch to forked variant Shota FUJI authored at Shota FUJI comitted at
  75. 18fb6b71 jj: Migrate `signing.sign-all` to `signing.behavior` Shota FUJI authored at Shota FUJI comitted at
  76. d7196bfe Update nixpkgs To incorporate a patch introduced in jj@0.26. It could not push to OneDev or soft-serve due to libgit2/libssh2 shenanigans. <https://github.com./jj-vcs/jj/issues/4979> Shota FUJI authored at Shota FUJI comitted at
  77. b35620f7 legit: Add legit (git web frontend) Felt the need for web index page. Shota FUJI authored at Shota FUJI comitted at
  78. 8d594020 Update Flake ``` $ nix profile diff-closures --profile ~/.local/state/nix/profiles/home-manager Version 662 -> 663: ghostty: 1.1.0, 1.1.0-shell_integration → 1.1.2, 1.1.2-shell_integration, +4719.0 KiB ``` Shota FUJI authored at Shota FUJI comitted at
  79. dcbb1fd1 scm-server: Add module Found a good one (soft-serve). OneDev is bloated and cumbersome to manage, hope this one works well for long term. Shota FUJI authored at Shota FUJI comitted at
  80. 37b3fb6a jj: Fix unable to switch when gpg signing key is missing JJ module in home-manager cannot handle null. Shota FUJI authored at Shota FUJI comitted at
  81. e275c799 ghostty: Use NUR variant on Darwin nixpkgs removed Darwin Ghostty by mark the package as broken, due to it not being able to build because of macOS/SwiftUI SDK stuffs. Since there is no ETA for the fix and there are security updates from Ghostty, I decided to switch to user made derivation. Shota FUJI authored at Shota FUJI comitted at
  82. f0f9aa81 foot: Use Monaspace It's good. Shota FUJI authored at Shota FUJI comitted at
  83. 0e7728e0 jj: Prevent pushing commits prefixed with "[WIP]" "wip:" prefix, which is used as an example in JJ docs, is not suitable for many projects because "scope:" is quite popular prefix in the wild. Using that would leads to, for example, "wip: jj: Change wording". This is confusing and does not stand out among other commits. WIP marker should be easily spottable. I tried to use "regex-" kind, but it's not available in this version of JJ. I can't upgrade nixpkgs due to Ghostty is marked as broken in newer nixpkgs. Shota FUJI authored at Shota FUJI comitted at
  84. 81316145 Update screenshot Shota FUJI authored at Shota FUJI comitted at
  85. 46033067 Don't use specialisations It was for light/dark mode switch. Ghostty supports platform-native one. Shota FUJI authored at Shota FUJI comitted at
  86. 3fb93c9e ghostty: Increase resize split amount Ghostty's resizing by keyboard is not smooth as kitty's one. Shota FUJI authored at Shota FUJI comitted at
  87. 0327f918 rg: Sort results Ripgrep do not sort by default. And it's close to unusable for my usecases. It seems to disable the option by default for performance, but in my projects, single-threaded search is faster than multi-threaded randomly sorted one. Only pros. Shota FUJI authored at Shota FUJI comitted at
  88. b36d1b50 ghostty: Align split keybindings to kitty's ones Shota FUJI authored at Shota FUJI comitted at
  89. 107de5d3 ghostty: Disable discretionary ligatures I noticed a word "ページ" is rendered as "㌻ ". Suspected ligature settings, removed "calt" font-feature, which activates Monaspace's Texture headling feature. Still "㌻ ". After searching Ghostty issue tracker, I found a culprit: <https://github.com/ghostty-org/ghostty/issues/1710> It was "dlig" font-feature, which is not recommended to be on by default because of its nature. Ghostty seems to set to on by default, for some reasons. It completely spoils Japanese text rendering and brings no benefits. The linked issue has comments with insightful links. Shota FUJI authored at Shota FUJI comitted at
  90. 7325f55d ghostty: Add Ghostty The primary motivation for the switch is dark/light mode switch. There should be other terminal emulators with that feature, but this program is performant, simple and has essential features without bloat. I removed almost all of catppuccin palette from CLI tool configs, so they use terminal's palette and seamlessly switch between light/dark mode. Shota FUJI authored at Shota FUJI comitted at
  91. 7b124f52 Update Flake Shota FUJI authored at Shota FUJI comitted at
  92. 8412c772 nvim: Fix hyphen being keyword in Astro file Shota FUJI authored at Shota FUJI comitted at
  93. 670e90a4 nvim: Disable CSS LS warnings It's useless. It does not emit useful warning. Shota FUJI authored at Shota FUJI comitted at
  94. 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
  95. 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
  96. ec39fe7c Update Flake To eliminate 25.05 unsupported-something-something warning. Shota FUJI authored at Shota FUJI comitted at
  97. 72669310 nvim: Fix Markdown ignoring indentation preferences Both configured values and editorconfig values. Shota FUJI authored at Shota FUJI comitted at
  98. 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
  99. ee29c490 kitty: Remove unused font settings Shota FUJI authored at Shota FUJI comitted at
  100. 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
  101. 93d52f54 nvim: Migrate TypeScript's LS name Neovim LSP thing. Name only, no behavior changes. Shota FUJI authored at Shota FUJI comitted at
  102. 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
  103. 5ba443d7 Update Flake For maintenance. Shota FUJI authored at Shota FUJI comitted at
  104. 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
  105. 6cb20bf9 nvim: Improve startup time Shota FUJI authored at Shota FUJI comitted at
  106. 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
  107. 5b8fbc9f jj: Remove workaround for HM's config location bug Shota FUJI authored at Shota FUJI comitted at
  108. 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
  109. 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
  110. b3405e78 kitty: Improve readability It was hard to distinguish kitty windows. Shota FUJI authored at Shota FUJI comitted at
  111. 02240eb1 nvim: Setup Gleam Language Server Shota FUJI authored at Shota FUJI comitted at
  112. 9769ad7e specialise: Don't print timestamp It's ugly and annoying. Shota FUJI authored at Shota FUJI comitted at
  113. 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
  114. 046d2255 jj: Workaround for HM writes config to wrong location Shota FUJI authored at Shota FUJI comitted at
  115. 1fddeda1 helix: Fix broken default typescript LS config Shota FUJI authored at Shota FUJI comitted at
  116. 9bd2c52f helix: Disable stupid default options Shota FUJI authored at Shota FUJI comitted at
  117. aecb89be helix: Do not hide dotfiles What a stupid default. Shota FUJI authored at Shota FUJI comitted at
  118. 2fc70a43 helix: Improve selection visibility Shota FUJI authored at Shota FUJI comitted at
  119. e2ede6f6 helix: Show indent guides Shota FUJI authored at Shota FUJI comitted at
  120. 2e43e087 helix: Fix popups are harder too read Shota FUJI authored at Shota FUJI comitted at
  121. 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
  122. 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
  123. d4d5d06a nvim: Disable file creation on enter in file-browser while no search hit Shota FUJI authored at Shota FUJI comitted at
  124. 5fc88867 Update Flake Shota FUJI authored at Shota FUJI comitted at
  125. 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
  126. 0dada0df Fix Home Manager can't register MacOS GUI apps correctly Shota FUJI authored at Shota FUJI comitted at
  127. 99dbe628 Set default tab size for neovim Shota FUJI authored at Shota FUJI comitted at
  128. 20e9b8f0 Add reuse (copyright/license tool) to dev layer Shota FUJI authored at Shota FUJI comitted at
  129. 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
  130. 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
  131. 58823c17 Install Home-Manager It's convenient to run home-manager commands without via nix. Shota FUJI authored at Shota FUJI comitted at
  132. 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
  133. 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
  134. d7943bda Improve Atuin filter mode Sharing history across sessions (e.g. kitty panes) is beyond annoying. Shota FUJI authored at Shota FUJI comitted at
  135. 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
  136. 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
  137. be68a003 Disable ligature on kitty It causes more harm than benefit. Shota FUJI authored at Shota FUJI comitted at
  138. 0d89d096 Add `tree` command Shota FUJI authored at Shota FUJI comitted at
  139. 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
  140. 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
  141. 6725f096 Fix telescope and file browser hide dotfiles Really, really stupid defaults. Shota FUJI authored at Shota FUJI comitted at
  142. 9f5feb11 Disable nvim file browser's stats It takes massive space. Shota FUJI authored at Shota FUJI comitted at
  143. 47a5b18c Open file browser from the buffer's parent directory Shota FUJI authored at Shota FUJI comitted at
  144. 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
  145. 38bc80cd Restore kitty's font size It hurts my eyes, seriously. Shota FUJI authored at Shota FUJI comitted at
  146. db93ae21 Tweak kitty configuration for my liking An improvement and simplification after the long use. Shota FUJI authored at Shota FUJI comitted at
  147. 279bf55e Add Difftastic Shota FUJI authored at Shota FUJI comitted at
  148. fb0e0cd4 Disable annoying default features of ZLS (Zig LS) Shota FUJI authored at Shota FUJI comitted at
  149. 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
  150. c03885a3 Zig LSP Shota FUJI authored at Shota FUJI comitted at
  151. 742a024f Add note on how to compare Home Manager generations Shota FUJI authored at Shota FUJI comitted at
  152. 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
  153. ea28ee80 Flake upgrade for maintenance ``` $ nix flake update ``` Shota FUJI authored at Shota FUJI comitted at
  154. 6045b170 Add Atuin, rich shell history tool Shota FUJI authored at Shota FUJI comitted at
  155. 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
  156. 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
  157. 9b70797a Add config for MacMini M1 Shota FUJI authored at Shota FUJI comitted at
  158. 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
  159. edcd9106 Add go LSP Shota FUJI authored at Shota FUJI comitted at
  160. 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
  161. 83106b13 Disable shitty YAML auto indent on Neovim Shota FUJI authored at Shota FUJI comitted at
  162. 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
  163. 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
  164. 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
  165. 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
  166. 00ec0ac7 Prevent vim CSS filetype plugin adding hyphen as a keyword Shota FUJI authored at Shota FUJI comitted at
  167. 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
  168. 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
  169. 57e398a9 Stop zsh removing a completed space before & or | Shota FUJI authored at Shota FUJI comitted at
  170. 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
  171. 2d7cc374 Add global editorconfig Shota FUJI authored at Shota FUJI comitted at
  172. 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
  173. 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
  174. 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
  175. 7deda419 Update Flake lockfile $ nix flake update Shota FUJI authored at Shota FUJI comitted at
  176. 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
  177. d3e333d1 Do not use GPG on SCM server The server is mostly automated. Shota FUJI authored at Shota FUJI comitted at
  178. f7bcef79 Format Nix files ...forgot to format before commit. ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  179. 15577f90 Add screenshot to README Just as an eye candy. Shota FUJI authored at Shota FUJI comitted at
  180. 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
  181. 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
  182. 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
  183. 808e6f96 Remove empty `let in` Shota FUJI authored at Shota FUJI comitted at
  184. 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
  185. 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
  186. 93e7595e Add data inspection tools Shota FUJI authored at Shota FUJI comitted at
  187. 1bd67848 Fix invalid configuration for foot Shota FUJI authored at Shota FUJI comitted at
  188. 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
  189. a8cc644a Disable mouse in Neovim I can't believe they enabled it by default. Shota FUJI authored at Shota FUJI comitted at
  190. ec6751dc Disable audio bell in Kitty Fucking annoying. Shota FUJI authored at Shota FUJI comitted at
  191. 74b07d5c Add license Shota FUJI authored at Shota FUJI comitted at
  192. 7e5b48d9 Format with nixpkgs-fmt ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  193. 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
  194. af71a439 Add diagnostics panel for Neovim Without scrollbar and minimap, this is essential. Shota FUJI authored at Shota FUJI comitted at
  195. c33226a3 Configure auto-completion for Neovim Shota FUJI authored at Shota FUJI comitted at
  196. e84274c0 Configure indentation display in Neovim Shota FUJI authored at Shota FUJI comitted at
  197. 3e63bac9 Add border to neovim LSP hover popup It was too hard to see. Shota FUJI authored at Shota FUJI comitted at
  198. 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
  199. 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
  200. 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
  201. 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
  202. 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
  203. 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
  204. 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
  205. 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
  206. e8e2e689 Format shell.nix ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  207. 16b61e96 Configure GPG key for Git This eliminates manual configuration on each machine. Shota FUJI authored at Shota FUJI comitted at
  208. 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
  209. 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
  210. f8d70761 $ nix fmt Shota FUJI authored at Shota FUJI comitted at
  211. 038f929b Configure formatter Shota FUJI authored at Shota FUJI comitted at
  212. 8b7f9c35 Terminal focused minimal configuration Shota FUJI authored at Shota FUJI comitted at