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..3678a92 100644 --- a/darwin/ivr/default.nix +++ b/darwin/ivr/default.nix @@ -25,11 +25,16 @@ in { brews = [ "qemu" "gcc" + "libaacs" { name = "libvirt"; restart_service = true; } "virt-manager" ]; + casks = [ + "synology-drive" + "handbrake" + ]; }; } 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/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": { 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 d8fa832..c1a0520 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,22 +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 copier diffutils - dmidecode findutils git gnupatch @@ -56,6 +47,7 @@ inetutils jq nano + nix-prefetch nmap openssl setup-ssh @@ -63,7 +55,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 new file mode 100644 index 0000000..fe4e7cb --- /dev/null +++ b/home/hosts/ivr/default.nix @@ -0,0 +1,16 @@ +{ pkgs, lib, ...}: + +{ + home.packages = with pkgs; [ + aacs + brew + ]; + 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/hosts/jude/default.nix b/home/hosts/jude/default.nix new file mode 100644 index 0000000..25e1a0f --- /dev/null +++ b/home/hosts/jude/default.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: + +{ + 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/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/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"; diff --git a/hosts/default.nix b/hosts/default.nix index 143961f..43c10a2 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 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/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 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/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 6ee8c09..87c8372 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -44,19 +44,22 @@ in rec { }) ]; + aacs = prev.callPackage ./aacs.nix {}; brew = prev.callPackage ./homebrew.nix {}; - setup-ssh = prev.callPackage ./setup-ssh.nix { - pkgs = final.pkgs; - }; + enwiki-dump = prev.callPackage ./enwiki-dump.nix {}; hms = prev.callPackage ./hms.nix { pkgs = final.pkgs; }; - jinja2-cli = prev.python3.pkgs.callPackage ./jinja2-cli.nix {}; - template = prev.callPackage ./template.nix { }; - - enwiki-dump = prev.callPackage ./enwiki-dump.nix {}; inject = prev.callPackage ./inject.nix { inherit (final) pkgs; }; - + jinja2-cli = prev.python3.pkgs.callPackage ./jinja2-cli.nix {}; + libbluray = prev.libbluray.override { + withAACS = true; + withBDplus = true; + }; + setup-ssh = prev.callPackage ./setup-ssh.nix { + pkgs = final.pkgs; + }; + template = prev.callPackage ./template.nix { }; xonsh = prev.xonsh.overridePythonAttrs (old: rec{ python3 = final.gregpy; propagatedBuildInputs = with final.gregpy.pkgs; old.propagatedBuildInputs ++ [ @@ -66,9 +69,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"; }