Nix (home-manager) configurations for my computers
Commits at 9ef1a710becba259ef5315992e5b406a019f8ae2
9ef1a710nvim: 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
2e53e9f0Add 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
adc27710nvim: 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
d4d5d06anvim: Disable file creation on enter in file-browser while no search hit
Shota FUJI
authored at
Shota FUJI
comitted at
a29d017fjj: 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
44fe333cFix 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
4e47fbbaUnset/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
58823c17Install Home-Manager
It's convenient to run home-manager commands without via nix.
Shota FUJI
authored at
Shota FUJI
comitted at
6a460b4fConvenience 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
bb141f65Utilize 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
d7943bdaImprove Atuin filter mode
Sharing history across sessions (e.g. kitty panes) is beyond annoying.
Shota FUJI
authored at
Shota FUJI
comitted at
7225f48eDisable 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
7380a217Use "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
be68a003Disable ligature on kitty
It causes more harm than benefit.
Shota FUJI
authored at
Shota FUJI
comitted at
69276120Activate DenoLS when directory has deno.jsonc as well
Deno supports both JSON and JSON with comments.
Shota FUJI
authored at
Shota FUJI
comitted at
c216b78bTurn 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
6725f096Fix telescope and file browser hide dotfiles
Really, really stupid defaults.
Shota FUJI
authored at
Shota FUJI
comitted at
b99f6cc6Use 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
e4301d3bDisable 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
d5e78c70Add 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
55ad99a8Ignore 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
5b543d38Switch 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
e054aad6Fix accepting autocomplete replace adjecent texts
I don't know why/how it was ConfirmBehavior.Replace.
Shota FUJI
authored at
Shota FUJI
comitted at
10d3b43fTemporary 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
91dbfae7Make 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
90e94938Migrate 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
aee4781dUpdate 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
4520b30ePrevent 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
00ec0ac7Prevent vim CSS filetype plugin adding hyphen as a keyword
Shota FUJI
authored at
Shota FUJI
comitted at
4625466ePrevent 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
f8cf7dedConfigure 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
948461beTurn 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
d8ec7043Remove "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
0b77a46fSwitch from exa to eza
exa has been removed from Home Manager and replaced with eza.
Shota FUJI
authored at
Shota FUJI
comitted at
fb8258bbMigrate 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
71c8db0bConfigure 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
d3e333d1Do not use GPG on SCM server
The server is mostly automated.
Shota FUJI
authored at
Shota FUJI
comitted at
f7bcef79Format Nix files
...forgot to format before commit.
```sh
$ nix fmt
```
Shota FUJI
authored at
Shota FUJI
comitted at
e1d5aa52Configuration for Wayland Desktop Environment
Added Window Manager (sway), Wallpaper (swaybg), Application Launcher
(tofi), Status Bar (waybar).
Shota FUJI
authored at
Shota FUJI
comitted at
2f14125cConfigure 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
4222d067Remove 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
69f12d5cUse `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
0fdd65a5Add 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
fcd115d6Refactor 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
a8cc644aDisable mouse in Neovim
I can't believe they enabled it by default.
Shota FUJI
authored at
Shota FUJI
comitted at
0f7086aaSwitch 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
af71a439Add diagnostics panel for Neovim
Without scrollbar and minimap, this is essential.
Shota FUJI
authored at
Shota FUJI
comitted at
3e63bac9Add border to neovim LSP hover popup
It was too hard to see.
Shota FUJI
authored at
Shota FUJI
comitted at
44d0e3feUse 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
58844078Launch 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
bc699d07Add 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
e6e744d0Kitty (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
9b6689adAdd workaround for macOS update breaks Nix bootstrap
An update on today broke my MBP installation...
Shota FUJI
authored at
Shota FUJI
comitted at
3d28d02bConfigure GPG when gpgKeyId is set
Platforms such as macOS does not have GnuPG by default.
Shota FUJI
authored at
Shota FUJI
comitted at
321deef1Fix 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
1efdd490Configure 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
16b61e96Configure GPG key for Git
This eliminates manual configuration on each machine.
Shota FUJI
authored at
Shota FUJI
comitted at
61d0cedfAdd installation method to README.md
It's handy when the system does not have git.
Shota FUJI
authored at
Shota FUJI
comitted at
52fa5ae9Fix 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