4.2 KiB
all of my dotfiles, managed with (https://www.gnu.org/software/stow/manual/stow.html)[stow]
Nix
I am working on migrating my dotfiles to nix, to allow configuration and installation in a single step.
In order to use the nix setup, you need to install nix and enable flakes,
then run nix run --extra-experimental-features "nix-command flakes" --no-write-lock-file github:nix-community/home-manager/ -- --extra-experimental-features "nix-command flakes" --impure --flake . switch
, while in the nix directory.
from then on, you can update your configuration after making a change with home-manager --impure --flake . switch
.
Alternatively, if you have just
installed, you can use just boostrap
and just switch
, instead.
Dependencies:
This does not list the package manager dependencies of the programs the dotfiles are for, but any extra dependencies that are needed for the specific configuration.
Whole-repo
GNU stow is used to manage individual dotfiles 'packages'.
Aalacritty
uses hack
for a font, dont need a patched nerd font, normal ttf-hack
(or any other font) combined with ttf-nerd-fonts-symbols
will do.
Kitty
you dont need a patched Nerd Font, normal ttf-fira-code
combined with ttf-nerd-fonts-symbols
will do. Can also change what font is used easily, but always needs the nerd-font symbols.
Yazi
Will need https://github.com/jstkdng/ueberzugpp installed if using on alacritty, availible in AUR (only needed for image previews). also has optional dependencies on jq, unarchiver, ffmpegthumbnailer, fd, ripgrep, fzf, zoxide, and poppler
Latexmk
Uses zathura as a pdf previewer.
Mpd
Setup to output audio through pipewire
I3wm
These are all the programs that i3 calls somewhere in its config, whether that be keybinds, startup applications, etc.
- alacritty or kitty (currently uses kitty, just comment out one line or the other in the i3 conf to switch)
- cool retro term
- i3-lock
- brightnessctl
- xdotool
- maim (screenshot program)
- xcolor (color picker)
- mpc (mpd stuff, remove relevant keybinds if you dont use mpd)
- pavucontrol
- geoclue (geolocation dameon)
- feh (for setting desktop wallpaper)
- dunst
- i3status
- xclip
- gnome-keyring (for login management in, for example, nextcloud. See https://gabevenberg.com/posts/autologinnextcloudclientonarch/ for details.)
x11 and x11hidpi
These are mutually exclusive directories, one is for hi-dpi screens. They have the same requirements otherwise. These .xinitrc's are setup to launch i3, with the config package in this repo.
xorg_conf
Dont stow this directory, but place the files you want (each one has comments describing its purpose) into /etc/X11/xorg.conf.d/
.
Neovim
If you want a neovim config that does not require external dependencies, install the nvim_minimal config.
For the status line, and other icons: any nerd font patched font, and your terminal setup to use it. (the included alacritty config is set up for it)
For packer:
- git
For Mason.nvim:
- unzip
- wget
- curl
- gzip
- tar
- bash
- python
- node and npm
- cargo
- pip
For treesitter:
- gcc
- git
- node
For neovim clipboard:
- xclip if using x
- waycopy and waypaste, or wl-copy and wl-paste, if using wayland (untested)
For telescope:
- ripgrep
- fd
Fish, zsh, and nushell
- nvim ($EDITOR and $VISUAL is set to this)
- less
- fzf
- optional: zoxide (nicer cd)
- optional: starship (nice prompt)
Software used by aliases:
- nvim
- sudo
- latexmk
- espeak-ng
- tre
- feh
- libreoffice (for word to pdf conversions)
- sshfs
nushell
Nushell currently also needs fish installed for comlpletions.
Paru
uses yazi as a file explorer
Yazi
for accurate mimetype info, I suggest installing perl-file-mimeinfo
Git
For diff tools, install git-delta
and difftastic
. I also reccomend installing lazygit
and/or tig
Khal and Khard:
both require the vdirsyncer program and config.
vdirsyncer
Dont use the config unmodified, as it currently points to my server, you will need to replace the relevant urls and usernames. Also, you will need pass installed and with your password set on your nextcloud domain.
starship
starship is a program for a very nice CLI promt, including a ton of info about the current git repo. Optional for zsh and fish, mandatory for nushell.