This commit is contained in:
Peder Bergebakken Sundt 2023-07-05 13:34:19 +02:00
parent 61ea6fc08c
commit 309c0baef4
7 changed files with 51 additions and 14 deletions

View File

@ -17,16 +17,19 @@
* [x] merge hosted docs into a single subdomain * [x] merge hosted docs into a single subdomain
* [x] Setup some remote-development and deploy flow * [x] Setup some remote-development and deploy flow
* [ ] host older versions of nixpkgs documentation (like 20.09) * [ ] host older versions of nixpkgs documentation (like 20.09)
* [ ] add a hidpi profile? https://wiki.archlinux.org/title/HiDPI * [x] add a hidpi profile? https://wiki.archlinux.org/title/HiDPI
* [ ] rocm * [ ] rocm
* [ ] cuda
* [ ] xclip * [ ] xclip
* [ ] https://git.m-labs.hk/M-Labs/wfvm * [ ] https://git.m-labs.hk/M-Labs/wfvm
* [ ] https://github.com/kholia/OSX-KVM * [ ] https://github.com/kholia/OSX-KVM
* [ ] s3: minio or garage
* [ ] mlflow / wandb * [ ] mlflow / wandb
* [ ] xforwarding over ssh * [x] xforwarding over ssh
* [ ] autogenerate ssh keys * [ ] autogenerate ssh keys for new hosts
* [ ] switch to systemd networkd * [ ] switch to systemd networkd
* [ ] pre-commit hook with 'nix eval ...outPath' * [ ] pre-commit hook with 'nix eval ...outPath'
* https://github.com/cachix/pre-commit-hooks.nix
* [x] use `nom` when deploying * [x] use `nom` when deploying
* [ ] figure out how to reuse system flake lock while deplying, leave the night job to upgrade * [ ] figure out how to reuse system flake lock while deplying, leave the night job to upgrade
* [ ] users/pbsds: Support multiple profiles, like headless, nixpkgs-dev, various desktops, hpc, pvv, etc * [ ] users/pbsds: Support multiple profiles, like headless, nixpkgs-dev, various desktops, hpc, pvv, etc
@ -35,18 +38,21 @@
* [ ] replace gnome terminal * [ ] replace gnome terminal
* [x] themes * [x] themes
* [x] shortcuts * [x] shortcuts
* [ ] pavucontrol * [x] pavucontrol
* [ ] nixos-generate-config instructions for new hosts * [ ] nixos-generate-config instructions for new hosts
* [ ] zfs, declarative pools? * [ ] zfs, declarative pools?
* [ ] some tunneling for NFS hosts * [ ] some tunneling for NFS hosts
* [ ] transgui config * [ ] transgui config
* [ ] secrets - nix-sops ? * [ ] secrets - nix-sops ?
* flexget * [ ] flexget
* transmission * [ ] transmission
* transmission remote gui * [ ] transmission remote gui
* domeneshop * [ ] domeneshop
* [ ] webdav
* [ ] code-remote
* [ ] add .netrc
* [ ] hydra * [ ] hydra
* perfect for CUDA * perfect for CUDA and RISCV
* [ ] self-hosted binary cache (single-machine) (nix-serve, carinae, harmonia, eris or attic, ssh?) * [ ] self-hosted binary cache (single-machine) (nix-serve, carinae, harmonia, eris or attic, ssh?)
* https://discourse.nixos.org/t/announcing-harmonia-a-nix-binary-cache-written-in-rust/19855 * https://discourse.nixos.org/t/announcing-harmonia-a-nix-binary-cache-written-in-rust/19855
* https://discourse.nixos.org/t/introducing-attic-a-self-hostable-nix-binary-cache-server/24343/1 * https://discourse.nixos.org/t/introducing-attic-a-self-hostable-nix-binary-cache-server/24343/1
@ -58,5 +64,7 @@
* [ ] Setup aliases instead of a per-vhost cert? * [ ] Setup aliases instead of a per-vhost cert?
* [ ] Preferably setup a wildchar cert per host * [ ] Preferably setup a wildchar cert per host
* [ ] once secrets are in place: coin a one true ssh key, automate adding ssh host public keys to flake * [ ] once secrets are in place: coin a one true ssh key, automate adding ssh host public keys to flake
* [ ] then add darwin and aarch64 community remote builders
* [ ] https://github.com/dali99/nix-dotfiles/blob/85dcafb4e0b8382a3d04b9a5f63afd01a4144143/machines/pvv-terminal.nix#L3 * [ ] https://github.com/dali99/nix-dotfiles/blob/85dcafb4e0b8382a3d04b9a5f63afd01a4144143/machines/pvv-terminal.nix#L3
* [ ] wrap windowmanager in nixGL on non-nixos https://github.com/dali99/nix-dotfiles/blob/85dcafb4e0b8382a3d04b9a5f63afd01a4144143/profiles/xsession/default.nix#LL138C1-L138C1 * [ ] wrap windowmanager in nixGL on non-nixos https://github.com/dali99/nix-dotfiles/blob/85dcafb4e0b8382a3d04b9a5f63afd01a4144143/profiles/xsession/default.nix#LL138C1-L138C1
* [ ] requires GNOME xstart in home-manager

View File

@ -29,7 +29,8 @@
#hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.latest; # only do this per-host #hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.latest; # only do this per-host
hardware.nvidia.powerManagement.enable = true; # Fix graphical corruption on suspend/resume hardware.nvidia.powerManagement.enable = true; # Fix graphical corruption on suspend/resume
virtualisation.docker.enableNvidia = true;
virtualisation.podman.enableNvidia = true;
# add this to the host in question: # add this to the host in question:
#hardware.nvidia.prime = { #hardware.nvidia.prime = {

View File

@ -27,6 +27,7 @@
../../profiles/sshd.nix ../../profiles/sshd.nix
../../profiles/no-suspend.nix ../../profiles/no-suspend.nix
../../profiles/podman.nix ../../profiles/podman.nix
../../profiles/docker.nix
../../users # home-manager ../../users # home-manager
../../users/pbsds ../../users/pbsds

22
profiles/docker.nix Normal file
View File

@ -0,0 +1,22 @@
{ lib, pkgs, ... }:
{
virtualisation.docker.enable = true;
#virtualisation.oci-containers.backend = lib.mkDefault "docker";
virtualisation.docker.autoPrune.enable = true;
virtualisation.docker.autoPrune.dates = "weekly";
#virtualisation.docker.autoPrune.flags = [ "--all" ];
environment.systemPackages = with pkgs; [
#docker-compose
];
# remember to add your user:
#users.users.USERNAME.extraGroups = [ "docker" ];
# Required for containers under podman-compose to be able to talk to each other.
#virtualisation.defaultNetwork.settings.dns_enabled = true;
# TODO: if root-on-zfs
#virtualisation.podman.extraPackages = [ pkgs.zfs ];
}

View File

@ -1,9 +1,13 @@
{ pkgs, ... }: { config, pkgs, ... }:
{ {
virtualisation.podman.enable = true; virtualisation.podman.enable = true;
virtualisation.podman.dockerCompat = true; # alias docker to podman virtualisation.podman.dockerCompat = !config.virtualisation.docker.enable; # alias docker to podman
virtualisation.oci-containers.backend = "podman"; # default virtualisation.oci-containers.backend = "podman"; # default
virtualisation.podman.autoPrune.enable = true;
virtualisation.podman.autoPrune.dates = "weekly";
#virtualisation.podman.autoPrune.flags = [ "--all" ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
#podman-compose #podman-compose
podman-tui podman-tui

View File

@ -46,7 +46,8 @@
"wheel" "wheel"
"nixbld" "nixbld"
# TODO: NAS stuff # TODO: NAS stuff
];
] ++ lib.optional config.virtualisation.docker.enable "docker";
initialHashedPassword = "$6$yNgxTHcP1UYkNwuZ$1sBehnKgPjVnDe0tSV8kyfynWpfjDzuohZX6SoTrMnYFa3/aiMOtI6JppYevl.M6qYhBIT0XBvL6TqSSFWn8B/"; initialHashedPassword = "$6$yNgxTHcP1UYkNwuZ$1sBehnKgPjVnDe0tSV8kyfynWpfjDzuohZX6SoTrMnYFa3/aiMOtI6JppYevl.M6qYhBIT0XBvL6TqSSFWn8B/";
# TODO: fetch from github? # TODO: fetch from github?

View File

@ -48,7 +48,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
rsync rsync
bind.dnsutils bind.dnsutils # dig
vimv vimv
git git
curl curl