localectl set-keymap us-colemak && \
localectl set-x11-keymap us "" colemak
rpm-ostree upgrade && \
flatpak update
Reboot
If on openSUSE MicroOS you may need to run this first and reboot:
sudo transactional-update run mksubvolume /nix
Install nix package manager:
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
Reboot
Install devbox wrapper for nix:
curl -fsSL https://get.jetpack.io/devbox | bash
Install fish & cli tools via devbox:
devbox global add fish carapace atuin starship pfetch-rs zoxide eza bat ripgrep btop chezmoi neovim
Optional cli tools I use:
devbox global add go k9s podman-compose kubectl kubernetes-helm awscli2 packer hcloud nodejs nodePackages.pnpm tflint opentofu terragrunt kind
Install Flathub:
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Install these essential GUI apps:
flatpak install \
org.freedesktop.Platform.ffmpeg-full \
com.github.wwmm.easyeffects \
org.pipewire.Helvum
Install Steam and OBS:
flatpak install \
com.valvesoftware.Steam \
org.freedesktop.Platform.VulkanLayer.gamescope \
org.freedesktop.Platform.VulkanLayer.MangoHud \
org.freedesktop.Platform.VulkanLayer.OBSVkCapture \
com.obsproject.Studio \
com.obsproject.Studio.Plugin.OBSVkCapture \
com.obsproject.Studio.Plugin.Gstreamer
Inside ~/.config/fish/config.fish
:
if status is-interactive
PF_INFO="ascii title os host kernel uptime pkgs cpu memory wm de" pfetch
end
Inside ~/.config/fish/conf.d/aliases.fish
:
if status is-interactive
alias ls='eza -l'
alias ll='eza -la'
alias cat='bat'
alias grep='rg'
alias cd..='cd ..'
alias ..='cd ..'
alias dbox='distrobox'
alias dboxc='distrobox create -i archlinux --init-hooks "sudo chsh -s /bin/fish $USER" --name'
alias code='flatpak run com.vscodium.codium --ozone-platform=wayland'
end
Inside ~/.config/fish/conf.d/path.fish
:
set PATH $PATH $HOME/.local/bin $HOME/go/bin
Inside ~/.config/fish/conf.d/sources.fish
:
devbox global shellenv | source
zoxide init fish | source
carapace init fish | source
atuin init fish | source
starship init fish | source
Inside ~/.config/fish/conf.d/variables.fish
:
if status is-interactive
set -x fish_greeting
set -x NAME 'John Doe'
set -x EMAIL '[email protected]'
set -x EDITOR 'nvim'
end
And disable the welcome banner:
set -U fish_greeting ""
Set your shell to /var/home/<username>/.local/share/devbox/global/default/.devbox/nix/profile/default/bin/fish
sudo chsh $USER
or if that doesn't work
sudo lchsh $USER
To enable devbox global packages inside the flatpak VSCodium, using Flatseal or KDE Flatpak permissions set this in env:
PATH=/app/bin:/usr/bin:/var/home/<username>/.local/bin:/var/home/<username>/.local/share/devbox/global/default/.devbox/nix/profile/default/bin:/var/home/<username>/go/bin
And configure some preferences:
{
"explorer.confirmDragAndDrop": false,
"window.zoomLevel": 1,
"terminal.integrated.defaultProfile.linux": "fish",
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
"icon": "terminal-bash"
},
"fish": {
"path": "fish",
"icon": "terminal"
}
},
"editor.formatOnSave": true,
"editor.indentSize": "tabSize",
"go.toolsManagement.autoUpdate": true,
"go.lintTool": "golangci-lint",
"go.lintFlags": ["--fast"],
"[go]": {
"editor.defaultFormatter": "golang.go"
},
"terraform.experimentalFeatures.validateOnSave": true,
"[terraform]": {
"editor.defaultFormatter": "hashicorp.terraform"
},
"css.lint.unknownAtRules": "ignore",
}