system

Nix (home-manager) configurations for my computers

Commits at 7695c8a71d9857505a65fe026f8a4fcae441552a

  1. 7695c8a7 nix: Disable git dirty warning It's noisy and too opinonated to be on by default. Shota FUJI authored at Shota FUJI comitted at
  2. 9fa916e7 programs/waybar-text: Prevent unnecessary derivation rebuild Shota FUJI authored at Shota FUJI comitted at
  3. 2cb2e411 programs/waybar-text: Migrate to Zig v0.15 Shota FUJI authored at Shota FUJI comitted at
  4. f62c6c5b programs/my-theme: Migrate to Zig v0.15 Shota FUJI authored at Shota FUJI comitted at
  5. 675a0873 ghostty: Workaround new window inherits working directory Regression in Ghostty v1.2.0. Shota FUJI authored at Shota FUJI comitted at
  6. 20206143 Remove unnecessary newline Shota FUJI authored at Shota FUJI comitted at
  7. a9490a7e ghostty: Remove "dlig" exclusion from font-features Ghostty 1.2.0 fixed that feature being enabled by default. Shota FUJI authored at Shota FUJI comitted at
  8. d86cefb8 Update Flake inputs $ nix flake update Then, * Pinned Zig version in custom programs to 0.14 * Migrated to the new Ghostty theme name https://ghostty.org/docs/install/release-notes/1-2-0#breaking-changes Shota FUJI authored at Shota FUJI comitted at
  9. af62d1d5 fish: Change prompt to a simple one The default prompt displays git information, which is not only bloat but also width-eating. On a branch with long name, the whole line will be occupied and prompt symbol (">") will sit at the next line, which is quite annoying especially on quitting pager software. Shota FUJI authored at Shota FUJI comitted at
  10. 5876bd1a wayland: Prevent bloatware from appearing in Walker Those bloatwares are installed by package managers, who can't manage package appropriately. In other words, those are desktop entries or binaries included in indirect dependencies, which SHOULD NOT appear in users' desktop entry directory. Shota FUJI authored at Shota FUJI comitted at
  11. d5ce1188 nvim: Open tree and expand current buffer at the same time Shota FUJI authored at Shota FUJI comitted at
  12. c49e6ebb wayland: Fix text line containing ampersand won't appear <https://github.com./Alexays/Waybar/issues/2067> Shota FUJI authored at Shota FUJI comitted at
  13. 62212bd9 Update flake input $ nix flake update Shota FUJI authored at Shota FUJI comitted at
  14. 2953ef51 nvim: Extract Lua code inside "features/dev" Shota FUJI authored at Shota FUJI comitted at
  15. 9fefb8d2 nvim: Format Lua code There has been inconsistency here and there due to me not knowing Lua and copy-and-paste. Shota FUJI authored at Shota FUJI comitted at
  16. ad03a926 Install Lua code formatter (StyLua) Shota FUJI authored at Shota FUJI comitted at
  17. 19076e5f nvim: Extract inline Lua code to individual files Now "neovim.nix" is much easier to read, and each Lua code gets syntax highlighting. Shota FUJI authored at Shota FUJI comitted at
  18. 3c6f7d8e nvim: Disable bloat providers enabled by home-manager home-manager by default enables these crap for no reason and pollutes tab completion. Shota FUJI authored at Shota FUJI comitted at
  19. d8211b83 atuin: Enable fish shell integration Shota FUJI authored at Shota FUJI comitted at
  20. eb21bb82 gpg-agent: Enable fish shell integration Shota FUJI authored at Shota FUJI comitted at
  21. 92c625da fish: Install fish shell Although I disagree some of its designs (no way to filter-out commands that is based on invalid claim "you should fix $PATH", already specified flags still appears on completion,) trying and getting familiar with new things would be benefitical to me in a long term. Also, those design flaw might be ignorable once I adapted to the "fish way" of operating on its interactive shell. Shota FUJI authored at Shota FUJI comitted at
  22. e1d119e4 nvim: Tweak nvim-tree keybinding to telescope-alike Shota FUJI authored at Shota FUJI comitted at
  23. c183df4b nvim: Don't open nvim-tree on start up I don't use that often. It's annoying when editing a single file or commit message. Shota FUJI authored at Shota FUJI comitted at
  24. bca922b7 nvim: Install nvim-tree.lua More tweak needed. Shota FUJI authored at Shota FUJI comitted at
  25. 91b1b98a devbox: Uninstall I no longer use this tool. Shota FUJI authored at Shota FUJI comitted at
  26. 8eaba674 Fix incorrect code comment Shota FUJI authored at Shota FUJI comitted at
  27. 4fede90e helix: Uninstall There is no way I would use that inferior modal keybindings. Shota FUJI authored at Shota FUJI comitted at
  28. e0171462 ghostty: Use ghostty-bin on Dawrin Now I can eliminate NUR dependency. Shota FUJI authored at Shota FUJI comitted at
  29. 763d59af Format Nix files with latest nixfmt Shota FUJI authored at Shota FUJI comitted at
  30. 113ae472 Update flake input `nix flake update` Shota FUJI authored at Shota FUJI comitted at
  31. 888686a8 Format code with dprint Shota FUJI authored at Shota FUJI comitted at
  32. 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
  33. 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
  34. 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
  35. 30c298bd nvim: Install vim-fugitive For git blame. Shota FUJI authored at Shota FUJI comitted at
  36. 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
  37. 1bfc2b76 home-manager: Migrate deprecated zsh option Shota FUJI authored at Shota FUJI comitted at
  38. 3632e0dc waybar: Improve style Dark/Light mode switch and more legible texts. Shota FUJI authored at Shota FUJI comitted at
  39. 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
  40. 15465272 syncthing: Configure admin GUI address for server Shota FUJI authored at Shota FUJI comitted at
  41. 428ee95a syncthing: Install syncthing For evaluation. Shota FUJI authored at Shota FUJI comitted at
  42. 6b41352f program/theme: Switch theme based on sunset/sunrise using sunwait Shota FUJI authored at Shota FUJI comitted at
  43. 3ef9418e program/theme: Refactor test code Shota FUJI authored at Shota FUJI comitted at
  44. a1d46dd0 wayland-de: Show current task in waybar Shota FUJI authored at Shota FUJI comitted at
  45. 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
  46. 243fb839 jj: Migrate deprecated config option Rename only. Shota FUJI authored at Shota FUJI comitted at
  47. 35f6ccc2 Update flake Shota FUJI authored at Shota FUJI comitted at
  48. 0fddd8c8 niri: Seamless overview background Shota FUJI authored at Shota FUJI comitted at
  49. 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
  50. 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
  51. bc252c5e wayland-de: Remove wallpaper Solid color is enough. Shota FUJI authored at Shota FUJI comitted at
  52. 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
  53. d4447f9f program/theme: Automatically switch theme based on time Shota FUJI authored at Shota FUJI comitted at
  54. c5d9196a program/theme: Overlay my-theme for nixpkgs This new way is straightforward compared `lib.mkIf ...`. Shota FUJI authored at Shota FUJI comitted at
  55. 258e064a program/theme: Time-based automatic variant Shota FUJI authored at Shota FUJI comitted at
  56. 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
  57. 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
  58. 6025713a program/theme: Build script for local development Shota FUJI authored at Shota FUJI comitted at
  59. 83654361 program/theme: Install only on Linux desktop Shota FUJI authored at Shota FUJI comitted at
  60. 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
  61. d85d7b16 zsh: Indicator for SSH session and Nix develop shell Shota FUJI authored at Shota FUJI comitted at
  62. 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
  63. 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
  64. 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
  65. 937e5ebe nvim: Disable stupid default indent for XML Shota FUJI authored at Shota FUJI comitted at
  66. 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
  67. 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
  68. 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
  69. 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
  70. e48a23e9 Eliminate duplicated nixpkgs Shota FUJI authored at Shota FUJI comitted at
  71. 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
  72. 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
  73. 768049c4 devbox: Add Devbox, Nix wrapper for dev env Shota FUJI authored at Shota FUJI comitted at
  74. 4d2983f7 niri: Tweak style to match the new wallpaper Shota FUJI authored at Shota FUJI comitted at
  75. d592beb8 wayland-de: Add wallpaper Shota FUJI authored at Shota FUJI comitted at
  76. 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
  77. 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
  78. 3591b2ab niri: Change default column widths and width steps Shota FUJI authored at Shota FUJI comitted at
  79. 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
  80. 0e97d2e7 ghostty: Do not split on Linux To unify window managements into niri. Shota FUJI authored at Shota FUJI comitted at
  81. 30c927c5 niri: Wrap vertical focus movement Shota FUJI authored at Shota FUJI comitted at
  82. b2746a2c niri: Configure column width/window height presets To my liking. Shota FUJI authored at Shota FUJI comitted at
  83. 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
  84. 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
  85. e9cd9a4c nvim: Change LSP hover border to rounded I found this to be more distinctive. Shota FUJI authored at Shota FUJI comitted at
  86. 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
  87. 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
  88. d41949ec Migrated deprecated types.string to types.str Addressed a warning in CLI output. Shota FUJI authored at Shota FUJI comitted at
  89. 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
  90. 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
  91. 2f46f869 Update nixpkgs Maintenance. Shota FUJI authored at Shota FUJI comitted at
  92. 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
  93. 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
  94. 4a89d402 legit: Upgrade to latest ref For improved layout and enchanced datetime display. Shota FUJI authored at Shota FUJI comitted at
  95. 4b402341 legit: Upgrade to latest ref To workaround Android (14?) Chrome layout glitch. Shota FUJI authored at Shota FUJI comitted at
  96. b1d2f5fa legit: Enable syntax highlight Shota FUJI authored at Shota FUJI comitted at
  97. 3c319ed3 legit: Upgrade to latest snapshot To use latest clean config syntax. Shota FUJI authored at Shota FUJI comitted at
  98. a5b40cc4 ghostty: Migrate to renamed (fixed) actions Shota FUJI authored at Shota FUJI comitted at
  99. 97a5926f wayland-de: Migrate from sway to niri Shota FUJI authored at Shota FUJI comitted at
  100. c8c080d6 ghostty: Wrap Ghostty with nixGL on dev-linux home-manager introduced nixGL helpers. Shota FUJI authored at Shota FUJI comitted at
  101. 45cef7c9 gui: Enable module on Linux mini PC Ghostty is good on Linux too. Shota FUJI authored at Shota FUJI comitted at
  102. 6afd5244 kitty: Remove kitty Ghostty is good enough. Nix kitty causes build errors. Shota FUJI authored at Shota FUJI comitted at
  103. b01237b7 legit: Update to latest commit To use configurable tab width feature. Shota FUJI authored at Shota FUJI comitted at
  104. b1091a65 legit: Support "readme" legit has plain text `readme` file. Shota FUJI authored at Shota FUJI comitted at
  105. f219315d legit: Switch to forked variant Shota FUJI authored at Shota FUJI comitted at
  106. 18fb6b71 jj: Migrate `signing.sign-all` to `signing.behavior` Shota FUJI authored at Shota FUJI comitted at
  107. 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
  108. b35620f7 legit: Add legit (git web frontend) Felt the need for web index page. Shota FUJI authored at Shota FUJI comitted at
  109. 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
  110. 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
  111. 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
  112. 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
  113. f0f9aa81 foot: Use Monaspace It's good. Shota FUJI authored at Shota FUJI comitted at
  114. 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
  115. 81316145 Update screenshot Shota FUJI authored at Shota FUJI comitted at
  116. 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
  117. 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
  118. 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
  119. b36d1b50 ghostty: Align split keybindings to kitty's ones Shota FUJI authored at Shota FUJI comitted at
  120. 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
  121. 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
  122. 7b124f52 Update Flake Shota FUJI authored at Shota FUJI comitted at
  123. 8412c772 nvim: Fix hyphen being keyword in Astro file Shota FUJI authored at Shota FUJI comitted at
  124. 670e90a4 nvim: Disable CSS LS warnings It's useless. It does not emit useful warning. Shota FUJI authored at Shota FUJI comitted at
  125. 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
  126. 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
  127. ec39fe7c Update Flake To eliminate 25.05 unsupported-something-something warning. Shota FUJI authored at Shota FUJI comitted at
  128. 72669310 nvim: Fix Markdown ignoring indentation preferences Both configured values and editorconfig values. Shota FUJI authored at Shota FUJI comitted at
  129. 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
  130. ee29c490 kitty: Remove unused font settings Shota FUJI authored at Shota FUJI comitted at
  131. 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
  132. 93d52f54 nvim: Migrate TypeScript's LS name Neovim LSP thing. Name only, no behavior changes. Shota FUJI authored at Shota FUJI comitted at
  133. 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
  134. 5ba443d7 Update Flake For maintenance. Shota FUJI authored at Shota FUJI comitted at
  135. 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
  136. 6cb20bf9 nvim: Improve startup time Shota FUJI authored at Shota FUJI comitted at
  137. 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
  138. 5b8fbc9f jj: Remove workaround for HM's config location bug Shota FUJI authored at Shota FUJI comitted at
  139. 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
  140. 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
  141. b3405e78 kitty: Improve readability It was hard to distinguish kitty windows. Shota FUJI authored at Shota FUJI comitted at
  142. 02240eb1 nvim: Setup Gleam Language Server Shota FUJI authored at Shota FUJI comitted at
  143. 9769ad7e specialise: Don't print timestamp It's ugly and annoying. Shota FUJI authored at Shota FUJI comitted at
  144. 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
  145. 046d2255 jj: Workaround for HM writes config to wrong location Shota FUJI authored at Shota FUJI comitted at
  146. 1fddeda1 helix: Fix broken default typescript LS config Shota FUJI authored at Shota FUJI comitted at
  147. 9bd2c52f helix: Disable stupid default options Shota FUJI authored at Shota FUJI comitted at
  148. aecb89be helix: Do not hide dotfiles What a stupid default. Shota FUJI authored at Shota FUJI comitted at
  149. 2fc70a43 helix: Improve selection visibility Shota FUJI authored at Shota FUJI comitted at
  150. e2ede6f6 helix: Show indent guides Shota FUJI authored at Shota FUJI comitted at
  151. 2e43e087 helix: Fix popups are harder too read Shota FUJI authored at Shota FUJI comitted at
  152. 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
  153. 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
  154. d4d5d06a nvim: Disable file creation on enter in file-browser while no search hit Shota FUJI authored at Shota FUJI comitted at
  155. 5fc88867 Update Flake Shota FUJI authored at Shota FUJI comitted at
  156. 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
  157. 0dada0df Fix Home Manager can't register MacOS GUI apps correctly Shota FUJI authored at Shota FUJI comitted at
  158. 99dbe628 Set default tab size for neovim Shota FUJI authored at Shota FUJI comitted at
  159. 20e9b8f0 Add reuse (copyright/license tool) to dev layer Shota FUJI authored at Shota FUJI comitted at
  160. 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
  161. 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
  162. 58823c17 Install Home-Manager It's convenient to run home-manager commands without via nix. Shota FUJI authored at Shota FUJI comitted at
  163. 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
  164. 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
  165. d7943bda Improve Atuin filter mode Sharing history across sessions (e.g. kitty panes) is beyond annoying. Shota FUJI authored at Shota FUJI comitted at
  166. 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
  167. 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
  168. be68a003 Disable ligature on kitty It causes more harm than benefit. Shota FUJI authored at Shota FUJI comitted at
  169. 0d89d096 Add `tree` command Shota FUJI authored at Shota FUJI comitted at
  170. 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
  171. 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
  172. 6725f096 Fix telescope and file browser hide dotfiles Really, really stupid defaults. Shota FUJI authored at Shota FUJI comitted at
  173. 9f5feb11 Disable nvim file browser's stats It takes massive space. Shota FUJI authored at Shota FUJI comitted at
  174. 47a5b18c Open file browser from the buffer's parent directory Shota FUJI authored at Shota FUJI comitted at
  175. 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
  176. 38bc80cd Restore kitty's font size It hurts my eyes, seriously. Shota FUJI authored at Shota FUJI comitted at
  177. db93ae21 Tweak kitty configuration for my liking An improvement and simplification after the long use. Shota FUJI authored at Shota FUJI comitted at
  178. 279bf55e Add Difftastic Shota FUJI authored at Shota FUJI comitted at
  179. fb0e0cd4 Disable annoying default features of ZLS (Zig LS) Shota FUJI authored at Shota FUJI comitted at
  180. 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
  181. c03885a3 Zig LSP Shota FUJI authored at Shota FUJI comitted at
  182. 742a024f Add note on how to compare Home Manager generations Shota FUJI authored at Shota FUJI comitted at
  183. 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
  184. ea28ee80 Flake upgrade for maintenance ``` $ nix flake update ``` Shota FUJI authored at Shota FUJI comitted at
  185. 6045b170 Add Atuin, rich shell history tool Shota FUJI authored at Shota FUJI comitted at
  186. 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
  187. 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
  188. 9b70797a Add config for MacMini M1 Shota FUJI authored at Shota FUJI comitted at
  189. 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
  190. edcd9106 Add go LSP Shota FUJI authored at Shota FUJI comitted at
  191. 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
  192. 83106b13 Disable shitty YAML auto indent on Neovim Shota FUJI authored at Shota FUJI comitted at
  193. 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
  194. 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
  195. 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
  196. 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
  197. 00ec0ac7 Prevent vim CSS filetype plugin adding hyphen as a keyword Shota FUJI authored at Shota FUJI comitted at
  198. 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
  199. 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
  200. 57e398a9 Stop zsh removing a completed space before & or | Shota FUJI authored at Shota FUJI comitted at
  201. 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
  202. 2d7cc374 Add global editorconfig Shota FUJI authored at Shota FUJI comitted at
  203. 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
  204. 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
  205. 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
  206. 7deda419 Update Flake lockfile $ nix flake update Shota FUJI authored at Shota FUJI comitted at
  207. 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
  208. d3e333d1 Do not use GPG on SCM server The server is mostly automated. Shota FUJI authored at Shota FUJI comitted at
  209. f7bcef79 Format Nix files ...forgot to format before commit. ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  210. 15577f90 Add screenshot to README Just as an eye candy. Shota FUJI authored at Shota FUJI comitted at
  211. 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
  212. 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
  213. 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
  214. 808e6f96 Remove empty `let in` Shota FUJI authored at Shota FUJI comitted at
  215. 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
  216. 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
  217. 93e7595e Add data inspection tools Shota FUJI authored at Shota FUJI comitted at
  218. 1bd67848 Fix invalid configuration for foot Shota FUJI authored at Shota FUJI comitted at
  219. 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
  220. a8cc644a Disable mouse in Neovim I can't believe they enabled it by default. Shota FUJI authored at Shota FUJI comitted at
  221. ec6751dc Disable audio bell in Kitty Fucking annoying. Shota FUJI authored at Shota FUJI comitted at
  222. 74b07d5c Add license Shota FUJI authored at Shota FUJI comitted at
  223. 7e5b48d9 Format with nixpkgs-fmt ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  224. 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
  225. af71a439 Add diagnostics panel for Neovim Without scrollbar and minimap, this is essential. Shota FUJI authored at Shota FUJI comitted at
  226. c33226a3 Configure auto-completion for Neovim Shota FUJI authored at Shota FUJI comitted at
  227. e84274c0 Configure indentation display in Neovim Shota FUJI authored at Shota FUJI comitted at
  228. 3e63bac9 Add border to neovim LSP hover popup It was too hard to see. Shota FUJI authored at Shota FUJI comitted at
  229. 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
  230. 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
  231. 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
  232. 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
  233. 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
  234. 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
  235. 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
  236. 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
  237. e8e2e689 Format shell.nix ```sh $ nix fmt ``` Shota FUJI authored at Shota FUJI comitted at
  238. 16b61e96 Configure GPG key for Git This eliminates manual configuration on each machine. Shota FUJI authored at Shota FUJI comitted at
  239. 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
  240. 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
  241. f8d70761 $ nix fmt Shota FUJI authored at Shota FUJI comitted at
  242. 038f929b Configure formatter Shota FUJI authored at Shota FUJI comitted at
  243. 8b7f9c35 Terminal focused minimal configuration Shota FUJI authored at Shota FUJI comitted at