From ad20ca1856a14d6c168593e7663b134c61512b4a Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Mon, 21 Aug 2023 10:20:24 -0500 Subject: [PATCH 1/6] Finer grained home-manager hosts --- darwin/default.nix | 3 ++- darwin/ivr/default.nix | 3 +++ home/home.nix | 12 ++---------- home/hosts/ivr/default.nix | 12 ++++++++++++ home/most/default.nix | 6 ++++++ hosts/jude/virt.nix | 1 + 6 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 home/hosts/ivr/default.nix create mode 100644 home/most/default.nix diff --git a/darwin/default.nix b/darwin/default.nix index 2124885..30d6d49 100644 --- a/darwin/default.nix +++ b/darwin/default.nix @@ -23,8 +23,9 @@ let extraSpecialArgs = { inherit inputs; gnome = false; - gui = true; + gui = false; home = "/Users/gregory.hellings"; + host = name; }; }; users.users."gregory.hellings".home = "/Users/gregory.hellings"; diff --git a/darwin/ivr/default.nix b/darwin/ivr/default.nix index 9c79196..0ad1ba5 100644 --- a/darwin/ivr/default.nix +++ b/darwin/ivr/default.nix @@ -31,5 +31,8 @@ in { } "virt-manager" ]; + casks = [ + "synology-drive" + ]; }; } diff --git a/home/home.nix b/home/home.nix index 04ccc2d..5946ae1 100644 --- a/home/home.nix +++ b/home/home.nix @@ -1,5 +1,6 @@ { pkgs, lib, gui, gnome, inputs, + host ? "most", ...}: { @@ -14,6 +15,7 @@ ./templates.nix ./vim.nix ./xonsh.nix + ./hosts/${host} ] ++ ( if gui then [ ./gui ] else []); @@ -31,21 +33,11 @@ ]); }; - home.file.".pip/pip.conf".text = (lib.strings.concatStringsSep "\n" [ - "[global]" - "retries = 1" - "index-url = https://pypi.python.org/simple" - "extra-index-url =" - " https://pypi.ivrtechnology.com/simple/" - " https://pypidev.ivrtechnology.com/simple/" - ]); - home.stateVersion = "23.05"; home.packages = with pkgs; [ bitwarden-cli brew diffutils - dmidecode findutils gimp git diff --git a/home/hosts/ivr/default.nix b/home/hosts/ivr/default.nix new file mode 100644 index 0000000..73791fc --- /dev/null +++ b/home/hosts/ivr/default.nix @@ -0,0 +1,12 @@ +{ pkgs, lib, ...}: + +{ + home.file.".pip/pip.conf".text = (lib.strings.concatStringsSep "\n" [ + "[global]" + "retries = 1" + "index-url = https://pypi.python.org/simple" + "extra-index-url =" + " https://pypi.ivrtechnology.com/simple/" + " https://pypidev.ivrtechnology.com/simple/" + ]); +} diff --git a/home/most/default.nix b/home/most/default.nix new file mode 100644 index 0000000..5ca3073 --- /dev/null +++ b/home/most/default.nix @@ -0,0 +1,6 @@ +# Put home configuration here that will affect most boxes +{ pkgs, ... }: + +{ + +} diff --git a/hosts/jude/virt.nix b/hosts/jude/virt.nix index ade6429..a5cbeda 100644 --- a/hosts/jude/virt.nix +++ b/hosts/jude/virt.nix @@ -2,6 +2,7 @@ { environment.systemPackages = with pkgs; [ + dmidecode guestfs-tools libguestfs ovftool From 8c0a5cac2a383ca5ab8a361aef57e3ae00d8bc68 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Mon, 21 Aug 2023 10:28:23 -0500 Subject: [PATCH 2/6] Try to merge with compass branch --- darwin/work/default.nix | 21 ++++++++++++--------- home/gui/default.nix | 11 ----------- home/home.nix | 1 + home/hosts/jude/default.nix | 12 ++++++++++++ home/xonsh.nix | 1 + 5 files changed, 26 insertions(+), 20 deletions(-) create mode 100644 home/hosts/jude/default.nix diff --git a/darwin/work/default.nix b/darwin/work/default.nix index 7992605..6cf2e8d 100644 --- a/darwin/work/default.nix +++ b/darwin/work/default.nix @@ -1,13 +1,16 @@ { pkgs, ... }: { - #greg.pypackages = with pkgs; [ - # dateutil - # ipython - # pyyaml - # responses - # ruamel-yaml - # typing-extensions - # virtualenv - #]; + homebrew = { + enable = true; + brews = [ + "packer" + ]; + casks = [ + "gnucash" + "onlyoffice" + "postman" + "vagrant" + ]; + }; } diff --git a/home/gui/default.nix b/home/gui/default.nix index b8dff15..1af3bcd 100644 --- a/home/gui/default.nix +++ b/home/gui/default.nix @@ -15,11 +15,6 @@ in home.packages = with pkgs; [ cdrtools dconf2nix - ffmpeg - gnucash - handbrake - libtheora - makemkv vlc x265 ] ++ @@ -34,12 +29,6 @@ in nextcloud-client ]) ++ - # Items that just cannot be outside of x86_64 at all - ( excludes ["aarch64-darwin" "aarch64-linux"] - [ - synology-drive-client - ]) ++ - # Items that are not supported on ARM/Linux ( excludes ["aarch64-linux"] [ diff --git a/home/home.nix b/home/home.nix index 5946ae1..324dad4 100644 --- a/home/home.nix +++ b/home/home.nix @@ -48,6 +48,7 @@ inetutils jq nano + nix-prefetch nmap openssl setup-ssh diff --git a/home/hosts/jude/default.nix b/home/hosts/jude/default.nix new file mode 100644 index 0000000..4f00ad3 --- /dev/null +++ b/home/hosts/jude/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ + gnucash + ffmpeg + handbrake + libtheora + makemkv + synology-drive-client + ]; +} diff --git a/home/xonsh.nix b/home/xonsh.nix index 3d03530..14d65ce 100644 --- a/home/xonsh.nix +++ b/home/xonsh.nix @@ -39,6 +39,7 @@ crun = "compass workspace run"; ctest = "compass workspace test"; cylint = "./scripts/run_yaml_lint.py"; + cpip = "compass workspace run src/python3/uc/tools:run_pip_compile"; cleanup = "nix-collect-garbage --delete-older-than 30d && nix store optimise"; d = "vox deactivate"; From 48cd5962073624ca9cad960a03b601578dc6e346 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Mon, 21 Aug 2023 10:34:42 -0500 Subject: [PATCH 3/6] Add defaults --- home/home.nix | 3 --- home/hosts/2maccabees/default.nix | 5 +++++ home/hosts/icdm-root/default.nix | 5 +++++ home/hosts/iso/default.nix | 5 +++++ home/hosts/ivr/default.nix | 3 +++ home/hosts/jude/default.nix | 2 ++ home/hosts/lappy/default.nix | 5 +++++ home/hosts/linode/default.nix | 5 +++++ home/hosts/linodeeu/default.nix | 5 +++++ home/hosts/mm/default.nix | 5 +++++ home/hosts/work/default.nix | 7 +++++++ home/hosts/wsl/default.nix | 5 +++++ hosts/default.nix | 1 + 13 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 home/hosts/2maccabees/default.nix create mode 100644 home/hosts/icdm-root/default.nix create mode 100644 home/hosts/iso/default.nix create mode 100644 home/hosts/lappy/default.nix create mode 100644 home/hosts/linode/default.nix create mode 100644 home/hosts/linodeeu/default.nix create mode 100644 home/hosts/mm/default.nix create mode 100644 home/hosts/work/default.nix create mode 100644 home/hosts/wsl/default.nix diff --git a/home/home.nix b/home/home.nix index 324dad4..4b15aa6 100644 --- a/home/home.nix +++ b/home/home.nix @@ -36,10 +36,8 @@ home.stateVersion = "23.05"; home.packages = with pkgs; [ bitwarden-cli - brew diffutils findutils - gimp git gnupatch gregpy @@ -56,7 +54,6 @@ transcrypt tree unzip - vagrant wget ]; } diff --git a/home/hosts/2maccabees/default.nix b/home/hosts/2maccabees/default.nix new file mode 100644 index 0000000..d8147ea --- /dev/null +++ b/home/hosts/2maccabees/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + +} diff --git a/home/hosts/icdm-root/default.nix b/home/hosts/icdm-root/default.nix new file mode 100644 index 0000000..d8147ea --- /dev/null +++ b/home/hosts/icdm-root/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + +} diff --git a/home/hosts/iso/default.nix b/home/hosts/iso/default.nix new file mode 100644 index 0000000..d8147ea --- /dev/null +++ b/home/hosts/iso/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + +} diff --git a/home/hosts/ivr/default.nix b/home/hosts/ivr/default.nix index 73791fc..83b3b28 100644 --- a/home/hosts/ivr/default.nix +++ b/home/hosts/ivr/default.nix @@ -1,6 +1,9 @@ { pkgs, lib, ...}: { + home.packages = with pkgs; [ + brew + ]; home.file.".pip/pip.conf".text = (lib.strings.concatStringsSep "\n" [ "[global]" "retries = 1" diff --git a/home/hosts/jude/default.nix b/home/hosts/jude/default.nix index 4f00ad3..25e1a0f 100644 --- a/home/hosts/jude/default.nix +++ b/home/hosts/jude/default.nix @@ -2,11 +2,13 @@ { home.packages = with pkgs; [ + gimp gnucash ffmpeg handbrake libtheora makemkv synology-drive-client + vagrant ]; } diff --git a/home/hosts/lappy/default.nix b/home/hosts/lappy/default.nix new file mode 100644 index 0000000..d8147ea --- /dev/null +++ b/home/hosts/lappy/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + +} diff --git a/home/hosts/linode/default.nix b/home/hosts/linode/default.nix new file mode 100644 index 0000000..d8147ea --- /dev/null +++ b/home/hosts/linode/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + +} diff --git a/home/hosts/linodeeu/default.nix b/home/hosts/linodeeu/default.nix new file mode 100644 index 0000000..d8147ea --- /dev/null +++ b/home/hosts/linodeeu/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + +} diff --git a/home/hosts/mm/default.nix b/home/hosts/mm/default.nix new file mode 100644 index 0000000..d8147ea --- /dev/null +++ b/home/hosts/mm/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + +} diff --git a/home/hosts/work/default.nix b/home/hosts/work/default.nix new file mode 100644 index 0000000..7c60c06 --- /dev/null +++ b/home/hosts/work/default.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ + brew + ]; +} diff --git a/home/hosts/wsl/default.nix b/home/hosts/wsl/default.nix new file mode 100644 index 0000000..d8147ea --- /dev/null +++ b/home/hosts/wsl/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + +} diff --git a/hosts/default.nix b/hosts/default.nix index 9311317..4239ec1 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -26,6 +26,7 @@ let home-manager.extraSpecialArgs = { inherit gnome gui inputs overlays; home = "/home/greg"; + host = name; }; } inputs.agenix.nixosModules.default From 8446d1405ee10161ea18a997a9d9db468698505e Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Mon, 21 Aug 2023 10:41:08 -0500 Subject: [PATCH 4/6] Update darwin input --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 5cfc0da..97926ea 100644 --- a/flake.lock +++ b/flake.lock @@ -49,11 +49,11 @@ ] }, "locked": { - "lastModified": 1689516967, - "narHash": "sha256-sFAa33wkQHanmij/uhfGduIDK8z4dJAita/rK6u9pvE=", + "lastModified": 1692248770, + "narHash": "sha256-tZeFpETKQGbgnaSIO1AGWD27IyTcBm4D+A9d7ulQ4NM=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "61662a63bfe1726588c1da6b412df86d8ca94d63", + "rev": "511177ffe8226c78c9cf6a92a7b5f2df3684956b", "type": "github" }, "original": { From 51460f901f378951297afc3e73358e0fce51b34b Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Mon, 21 Aug 2023 11:21:04 -0500 Subject: [PATCH 5/6] Add aacs config script --- darwin/ivr/default.nix | 2 ++ home/hosts/ivr/default.nix | 1 + overlays/aacs.nix | 10 ++++++++++ overlays/default.nix | 3 +-- 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 overlays/aacs.nix diff --git a/darwin/ivr/default.nix b/darwin/ivr/default.nix index 0ad1ba5..3678a92 100644 --- a/darwin/ivr/default.nix +++ b/darwin/ivr/default.nix @@ -25,6 +25,7 @@ in { brews = [ "qemu" "gcc" + "libaacs" { name = "libvirt"; restart_service = true; @@ -33,6 +34,7 @@ in { ]; casks = [ "synology-drive" + "handbrake" ]; }; } diff --git a/home/hosts/ivr/default.nix b/home/hosts/ivr/default.nix index 83b3b28..fe4e7cb 100644 --- a/home/hosts/ivr/default.nix +++ b/home/hosts/ivr/default.nix @@ -2,6 +2,7 @@ { home.packages = with pkgs; [ + aacs brew ]; home.file.".pip/pip.conf".text = (lib.strings.concatStringsSep "\n" [ diff --git a/overlays/aacs.nix b/overlays/aacs.nix new file mode 100644 index 0000000..cf123a6 --- /dev/null +++ b/overlays/aacs.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: + +pkgs.writeShellScriptBin "aacs" '' +set -ex +[ ! -d "''${HOME}/.config/aacs" ] && mkdir -p "''${HOME}/.config/aacs" +cd "''${HOME}/.config/aacs" +[ -f KEYDB.cfg.zip ] && rm -f KEYDB.cfg.zip +curl -L -o KEYDB.cfg.zip "http://fvonline-db.bplaced.net/fv_download.php?lang=eng" +${pkgs.unzip}/bin/unzip KEYDB.cfg.zip +mv keydb.cfg KEYDB.cfg'' diff --git a/overlays/default.nix b/overlays/default.nix index e1c9ca1..970ed45 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -54,8 +54,8 @@ in rec { }) ]; + aacs = prev.callPackage ./aacs.nix {}; brew = prev.callPackage ./homebrew.nix {}; - enwiki-dump = prev.callPackage ./enwiki-dump.nix {}; hms = prev.callPackage ./hms.nix { pkgs = final.pkgs; @@ -64,7 +64,6 @@ in rec { setup-ssh = prev.callPackage ./setup-ssh.nix { pkgs = final.pkgs; }; - xonsh = prev.xonsh.overridePythonAttrs (old: rec{ python3 = final.gregpy; propagatedBuildInputs = with final.gregpy.pkgs; old.propagatedBuildInputs ++ [ From 51b2cff831405d43ee52fe6f4bfb72222ec460fe Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Mon, 21 Aug 2023 13:14:51 -0500 Subject: [PATCH 6/6] Video and Nix GC options Add Nix gc options to keep the store reasonably cleaned up Add GStreamer to Jude build Add libbluray overlay with AACS support --- hosts/jude/default.nix | 12 ++++++++++++ modules-all/default.nix | 6 ++++++ overlays/default.nix | 14 +++++++++----- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/hosts/jude/default.nix b/hosts/jude/default.nix index 8401320..35ee182 100644 --- a/hosts/jude/default.nix +++ b/hosts/jude/default.nix @@ -17,6 +17,18 @@ greg.kde.enable = false; environment.systemPackages = with pkgs; [ + # Video/Audio data composition framework tools like "gst-inspect", "gst-launch" ... + gst_all_1.gstreamer + # Common plugins like "filesrc" to combine within e.g. gst-launch + gst_all_1.gst-plugins-base + # Specialized plugins separated by quality + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-ugly + # Plugins to reuse ffmpeg to play almost every video format + gst_all_1.gst-libav + # Support the Video Audio (Hardware) Acceleration API + gst_all_1.gst-vaapi oathToolkit ]; fileSystems = { diff --git a/modules-all/default.nix b/modules-all/default.nix index 57d8458..ecbdcad 100644 --- a/modules-all/default.nix +++ b/modules-all/default.nix @@ -16,6 +16,12 @@ } ]; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + settings = { auto-optimise-store = true; experimental-features = "nix-command flakes"; diff --git a/overlays/default.nix b/overlays/default.nix index 970ed45..44aa352 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -61,6 +61,10 @@ in rec { pkgs = final.pkgs; }; inject = prev.callPackage ./inject.nix { inherit (final) pkgs; }; + libbluray = prev.libbluray.override { + withAACS = true; + withBDplus = true; + }; setup-ssh = prev.callPackage ./setup-ssh.nix { pkgs = final.pkgs; }; @@ -73,9 +77,9 @@ in rec { ]; }); - bitwarden = macOver ./mac/bitwarden.nix "bitwarden"; - gnucash = macOver ./mac/gnucash.nix "gnucash"; - handbrake = macOver ./mac/handbrake.nix "handbrake"; - onlyoffice-bin = macOver ./mac/onlyoffice-bin.nix "onlyoffice-bin"; - vlc = macOver ./mac/vlc.nix "vlc"; + #bitwarden = macOver ./mac/bitwarden.nix "bitwarden"; + #gnucash = macOver ./mac/gnucash.nix "gnucash"; + #handbrake = macOver ./mac/handbrake.nix "handbrake"; + #onlyoffice-bin = macOver ./mac/onlyoffice-bin.nix "onlyoffice-bin"; + #vlc = macOver ./mac/vlc.nix "vlc"; }