Recently I’ve been trying to work out how to update packages that I define declaratively in my Nix config. I think I figured out how to do it using my Nix flake. By running nix flake update and then sudo nixos-rebuild switch --flake ~/dotfiles#framework to update the packages.
However, I have some plugins say for tmux which are defined like so:
t-smart-manager = pkgs.tmuxPlugins.mkTmuxPlugin { pluginName = "t-smart-tmux-session-manager"; version = "unstable-2023-06-05"; rtpFilePath = "t-smart-tmux-session-manager.tmux"; src = pkgs.fetchFromGitHub { owner = "joshmedeski"; repo = "t-smart-tmux-session-manager"; rev = "0a4c77c5c3858814621597a8d3997948b3cdd35d"; sha256 = "1dr5w02a0y84q2iw4jp1psxvkyj4g6pr87gc22syw1jd4ibkn925"; }; }; Note the fetchFromGitHub function, where we specify a specific git revision to get. I was looking at ways we could update this automatically. Then I came across this tool update-nix-fetchgit. When run it will update the rev, sha256 and version for us.
...
Introduction In this post I will show you how you can setup tmux (plugins) using the nix package manager, specifically using home-manager. I will also show you how you can avoid an issue I encountered where tmux resurrect wasn’t working properly due to plugin ordering.
Typically we use the tmux plugin manager to manage our tmux plugins. However, when I moved to NixOS, I wanted to move away from having lots of different ways of managing what is on my system. For example, on my Arch Linux machine I had:
...
Recently I decided to move from Arch Linux to NixOS. Rather than doing what I should’ve done which was try to use NixOS in a VM first and learn Nix properly. I decided to jump into the deep end and completely delete my current Arch Linux build with Nix. This included replacing my dotfiles setup using DotBot moving them to Nix flakes and home-manager (more on this in a bit). In this post, I’ll go over why I moved over to NixOS, and why I am staying put for now. What I like about it and some difficulties I have had.
...
TIL: How to Declaratively Setup Mullvad VPN with NixOS
I have recently moved to NixOS, one of the great features of NixOS is that you can set up your entire machine from a single git repo. We can do this declaratively, what we mean by this is we tell nix what we want the state to be and nixos will work out how to get there.
For example, we can install Mullvad set various options already. This means on a new machine we don’t manually have to setup these mullvad settings.
...
TIL: How to change the fish greeter
In this post I will show you how you can change your fish shell greeter from the default
Welcome to fish, the friendly interactive shell Type `help` for instructions on how to use fish To something custom, this will run every time you open a new shell!
To do this, go to your fish_greeter.fish file which can usually be found at ~/.config/fish/functions/fish_greeting.fish. Where mine looks like:
...