This is the nixos configuration for my personal laptop which I kindly want to share with you. It consists of zsh, kde, conda, julia, vscode, tiddlywiki and others.
I wrote a couple of fixes which I outsourced into clean overlays for now (they may be merged into nixpkgs someday). Take a look, they may be especially of interest to you.
Learning nixos is a great experience for me, I like it a lot, and by now also like to inspire others. It's worth giving it a try. For nixos questions please reach out on discourse.nixos.org.
If you would like to use one of my overlays for yourself, it is as simple as copying the file to your overlays directory.
By default each user has the folder ~/.config/nixpkgs/overlays
, however if you like to have a folder under your central nixos folder, as I myself like to do, just add
nixpkgs-overlays=/etc/nixos/overlays/
to your nixpath (see my configuration.nix for one way to do so).
Overlays don't need nixos, and can seamlessly be used with the mere nix package manager.
I prefer to edit /etc/nixos as my personal user and change the rights respectively
cd /etc/nixos
chmod u+w .
Then you can install this nixos-configuration by simply cloning the repository into /etc/nixos
mv /etc/nixos/configuration.nix /etc/nixos/configuration-backup-$(date --iso-8601).nix
git clone https://github.com/schlichtanders/nixos-personal /etc/nixos
Finally build the nixos by running
sudo nixos-rebuild switch
alternatively, if you want to save the output-logs for later inspection, run
sudo nixos-rebuild switch |& tee /etc/nixos/logs/rebuild-$(date --iso-8601=seconds).txt
Characters not allowed in Windows are /:*?"<>| we need to ignore forward slash
test:
~/nixos/utils/mydetox.jl --dry-run
in real:
~/nixos/utils/mydetox.jl | tee ~/tmp/mydetox_out.log
bring all dot folders to zip files
for dotfolder in .*/; do
echo tar -zcf $(basename $dotfolder).tar.gz $dotfolder
tar -zcf $(basename $dotfolder).tar.gz $dotfolder
done
sync complete home
rsync --iconv=. --archive --delete --no-links --whole-file --modify-window=2 --exclude '/.*/' --exclude "node_modules/" --exclude ".venv/" --exclude ".nox/" --progress /home/ssahm/ /run/media/ssahm/Seagate\ Expansion\ Drive/Backups/2022-07-23_NixOS_Home 2> ~/tmp/rsync_err.log | tee ~/tmp/rsync_out.log