diff --git a/flake.lock b/flake.lock index 91773710..2b2c0c23 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1718921313, - "narHash": "sha256-TFJah1RW5qnYW7kajjAFPAS5j/0q0R3vz9zPjrRA0Mc=", + "lastModified": 1721074762, + "narHash": "sha256-RhqFBMLh6G5vAo7Jz9mdsworI50E4FAAg7rPho4CNfY=", "owner": "Aylur", "repo": "ags", - "rev": "646d5ad073ff7f8b1d50cfbd40f5b8a250fcd59d", + "rev": "8194f0c9546a150525a2022c17aed51df1464b80", "type": "github" }, "original": { @@ -346,11 +346,11 @@ ] }, "locked": { - "lastModified": 1720734513, - "narHash": "sha256-neWQ8eNtLTd+YMesb7WjKl1SVCbDyCm46LUgP/g/hdo=", + "lastModified": 1721135958, + "narHash": "sha256-H548rpPMsn25LDKn1PCFmPxmWlClJJGnvdzImHkqjuY=", "owner": "nix-community", "repo": "home-manager", - "rev": "90ae324e2c56af10f20549ab72014804a3064c7f", + "rev": "afd2021bedff2de92dfce0e257a3d03ae65c603d", "type": "github" }, "original": { @@ -451,11 +451,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1721059467, - "narHash": "sha256-0Yx4eXowxw5TATf92DZu2qKbBYXPxYh849h9tL/TQR0=", + "lastModified": 1721150952, + "narHash": "sha256-LRuNRlV1JelXkufntUbaVDpI+CEOgHAnI+MTToOT9Hk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "be45415f0f321f030f8c76723fd15d4b0f3a02fb", + "rev": "4830e090c333af770f3edf2aa4d5a2b183f6455e", "type": "github" }, "original": { @@ -499,11 +499,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1721016451, - "narHash": "sha256-Cypl9ORr5UjtBsbjXMTJRepTe362yNVrPrntUvHiTaw=", + "lastModified": 1721080040, + "narHash": "sha256-USDsS90/88RJibP3gEcH1AaVt+JpnX4XCUD9bAJP5I4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a14c5d651cee9ed70f9cd9e83f323f1e531002db", + "rev": "b2c1f10bfbb3f617ea8e8669ac13f3f56ceb2ea2", "type": "github" }, "original": { diff --git a/hosts/lilith-pc/default.nix b/hosts/lilith-pc/default.nix index cf48e93e..ecc0c378 100644 --- a/hosts/lilith-pc/default.nix +++ b/hosts/lilith-pc/default.nix @@ -4,6 +4,11 @@ extraConfig = { config.gaming.enable = true; + config.docker = { + enable = true; + ollama.enable = true; + }; + config.hyprlandOverrides = { settings = { input = { diff --git a/system/containers/default.nix b/system/containers/default.nix new file mode 100644 index 00000000..bcd74928 --- /dev/null +++ b/system/containers/default.nix @@ -0,0 +1,32 @@ +{ pkgs, lib, config, conf, ...}: { + imports = [ + + ] ++ lib.optional config.docker.ollama.enable ./ollama.nix + ; + + environment.systemPackages = with pkgs; [ + arion + docker-client + ]; + + virtualization = { + docker.enable = false; + podman.enable = true; + podman.dockerSocket.enable = true; + podman.defaultNetwork.dnsname.enable = true; + + arion.projects.ollama = lib.mkIf config.containers.ollama.enable { + settings.services = { + ollama = { + service = { + image = "ollama/ollama:sha256:4325d935cd6e07cfa840eb193aad0594ba6cbc97ca9d0778f6716507cb3955ed"; + useHostStore = true; + }; + }; + }; + }; + }; + + users.users.${conf.user}.extraGroups = ["podman"]; +} + diff --git a/system/containers/ollama.nix b/system/containers/ollama.nix new file mode 100644 index 00000000..8da0ff1f --- /dev/null +++ b/system/containers/ollama.nix @@ -0,0 +1,5 @@ +{...}: { + projects.ollama = { + + } +} diff --git a/system/full.nix b/system/full.nix index 633bd9f5..14e02217 100644 --- a/system/full.nix +++ b/system/full.nix @@ -18,5 +18,6 @@ ./syncthing.nix ./wayland.nix ./zsh.nix - ]; + ] ++ lib.optional config.containers.enable ./containers + ; } diff --git a/system/options.nix b/system/options.nix index 88ce587b..95ee29f1 100644 --- a/system/options.nix +++ b/system/options.nix @@ -1,6 +1,8 @@ {lib, ...}: { options.gaming.enable = lib.mkEnableOption "Enable gaming"; - config.gaming.enable = lib.mkDefault false; + + options.containers.enable = lib.mkEnableOption "Enable podman"; + options.containers.ollama.enable = lib.mkEnableOption "Run Ollama container"; options.hyprlandOverrides = lib.mkOption { # type = lib.types.attributeSet;