diff --git a/TODO b/TODO index 659f82f..e62bcc4 100644 --- a/TODO +++ b/TODO @@ -5,3 +5,14 @@ separate stable-diffusion and ollama backends from their UIs figure out a way to get firefox policies and plugins set up in webapps is theme gen relevant with cosmic? +it appears that cosmic-theme is a thing but is it functional yet? + +concept: +a function that flake-ifies and overrides the sources for regular nixpkgs +derivations to allow you to keep them utd by yourself +^ not possible to make flake inputs based on a function, + just pull source as flake and override the source attribute.. + +concept: +a nixos-like OS with standardised option sets that nonetheless uses composable flake +pieces to construct the whole OS, thus breaking the monorepo syndrome diff --git a/flake.lock b/flake.lock index 6260e19..93fb194 100644 --- a/flake.lock +++ b/flake.lock @@ -237,11 +237,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1715783097, - "narHash": "sha256-vNuEIVQhVOFmXtw/MBZduCALnJoexsSW1436Lh28UMY=", + "lastModified": 1716308526, + "narHash": "sha256-VMJmUxR+yK28PXN7ZB98bEyw0pSOdsNxNCrc6SS9i28=", "owner": "helix-editor", "repo": "helix", - "rev": "889bbefeb387f6984f0a320b64d4a1e5434e768b", + "rev": "41dec92b0feb77719b07334b7a7f53152866e4e3", "type": "github" }, "original": { @@ -257,11 +257,11 @@ ] }, "locked": { - "lastModified": 1715486357, - "narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=", + "lastModified": 1715930644, + "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", "owner": "nix-community", "repo": "home-manager", - "rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1", + "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", "type": "github" }, "original": { @@ -293,11 +293,11 @@ ] }, "locked": { - "lastModified": 1715483403, - "narHash": "sha256-WMDuQj7J5jbpXI/X/E6FZRKgBFGcaSTvYyVxPnKE6KU=", + "lastModified": 1716170277, + "narHash": "sha256-fCAiox/TuzWGVaAz16PxrR4Jtf9lN5dwWL2W74DS0yI=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "f9027322f48b427da23746aa359a6510dfcd0228", + "rev": "e0638db3db43b582512a7de8c0f8363a162842b9", "type": "github" }, "original": { @@ -315,11 +315,11 @@ ] }, "locked": { - "lastModified": 1714987925, - "narHash": "sha256-8gG1yIsha3bOUNs2cyOrC1I2E30G3R7bGoHsGO5bhkY=", + "lastModified": 1716116133, + "narHash": "sha256-CwOldvBBXr1K2Zr6z5chHtieBBIQqk+k5RKt3hkF1OU=", "owner": "nix-community", "repo": "nix-ld-rs", - "rev": "57342044b03b7faa4c949d492c80527ad693194c", + "rev": "bca096389e440f0f20a6a795546f65e2f2f7410d", "type": "github" }, "original": { @@ -372,11 +372,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1714622771, - "narHash": "sha256-fZs0u4ep+RH7U69Jo/GAjwd1iSVFSByeAOju8ucsPx8=", + "lastModified": 1716179952, + "narHash": "sha256-YYAkj/wBEMO75nnJbcB4cjSfGzlkmaRao1WeULDIdGc=", "owner": "nix-community", "repo": "nixd", - "rev": "af6bb716038eecf5bad0ead6ed14a4c1e5b74c13", + "rev": "ff3eb7117ea030d8d466d364513394cf47b58715", "type": "github" }, "original": { @@ -391,11 +391,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1715831624, - "narHash": "sha256-UZ+7XnVOIo2HW7ZvM/4x/u+0IXUX4gQ+/7XVukGio3c=", + "lastModified": 1716428017, + "narHash": "sha256-Joo4zSiVgaUldBef7+ba21rdPy/QiHhtXBUSw4sDIfc=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "c84d2370c0d24248c2b1a58f1d1388d8180b83a5", + "rev": "5e7aa8a7ff13e91ae85158aee0beb01b81af9529", "type": "github" }, "original": { @@ -487,11 +487,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", + "lastModified": 1716293225, + "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", + "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", "type": "github" }, "original": { @@ -503,11 +503,11 @@ }, "nur": { "locked": { - "lastModified": 1715866584, - "narHash": "sha256-laNSMD4ZgnXTnYKAs9C5IQNt+CGwUZhhlvog+61mC6E=", + "lastModified": 1716424553, + "narHash": "sha256-gcn3IDjugAsyR1U7k/atVN/F/S4DJphrkpzoyYPIyHg=", "owner": "nix-community", "repo": "NUR", - "rev": "821d6aa90394fdc84550a3be55f3920a71ebb834", + "rev": "e1b5b402c68cd12c45bfddabe250de1430f02994", "type": "github" }, "original": { @@ -596,11 +596,11 @@ ] }, "locked": { - "lastModified": 1715825775, - "narHash": "sha256-7np2/EEr5Xm8IuKWQ43q8AA1Lb6Us2BW6rYMxGrInIg=", + "lastModified": 1716344225, + "narHash": "sha256-e4tYIu1BOcq2DiGSQqynyREXCnKohjdcMS9wvLVxT38=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "55f468b3d49c5d3321e85f2f9b1158476a2a90fb", + "rev": "e8239080c897174a646c36a88789c9cbf53b7951", "type": "github" }, "original": { diff --git a/home/dots/wlogout/layout b/home/dots/wlogout/layout index d62b2ac..b1cfff6 100644 --- a/home/dots/wlogout/layout +++ b/home/dots/wlogout/layout @@ -13,7 +13,7 @@ }, { "label" : "suspend", - "action" : "loginctl lock-session & systemctl suspend", + "action" : "systemctl suspend", "text" : "Suspend", "keybind" : "s" }, diff --git a/home/modules/chat.nix b/home/modules/chat.nix index e2a41b3..dcb67f9 100644 --- a/home/modules/chat.nix +++ b/home/modules/chat.nix @@ -19,5 +19,5 @@ icon = ../icons/fb_msg.png; }; }; - flatpaks = ["im.fluffychat.Fluffychat"]; + flatpaks = ["im.riot.Riot"]; } diff --git a/home/modules/media-players.nix b/home/modules/media-players.nix index f721193..aa40de3 100644 --- a/home/modules/media-players.nix +++ b/home/modules/media-players.nix @@ -3,8 +3,8 @@ mpv imv strawberry + termusic zathura - # libnotify playerctl ]; } diff --git a/home/programs/ollama.nix b/home/programs/ollama.nix index cba5642..ca3dd17 100644 --- a/home/programs/ollama.nix +++ b/home/programs/ollama.nix @@ -23,7 +23,7 @@ in { echo Checking for container existence.. if [[ $(${docker} inspect openwebui &> /dev/null; printf $?) -ne 0 ]]; then echo Not found. Creating OpenWebUI/Ollama container.. - ${docker} create -e PORT=${toString port} --network host --gpus all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name openwebui --restart always ghcr.io/open-webui/open-webui:ollama + ${docker} create -e PORT=${toString port} --restart no --network host --gpus all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name openwebui --restart always ghcr.io/open-webui/open-webui:ollama fi echo Check complete. ''}"; diff --git a/system/modules/cosmic.nix b/system/modules/cosmic.nix index 4686ff5..c626157 100644 --- a/system/modules/cosmic.nix +++ b/system/modules/cosmic.nix @@ -1,4 +1,8 @@ -{lib, ...}: let +{ + pkgs, + lib, + ... +}: let inherit (lib) range mapAttrsToList; inherit (builtins) toString; workspaceRange = range 1 6; @@ -55,6 +59,11 @@ in { ]; services.desktopManager.cosmic = { enable = true; + otherSettings = { + "com.system76.CosmicPanel.Dock" = { + option.opacity = 0.8; + }; + }; keybindings = winManagementBindings ++ [ @@ -72,10 +81,10 @@ in { type = "Resizing"; data = "Inwards"; }) - (genBinding "period" ["Super"] "NextOutput") - (genBinding "period" ["Super" "Shift"] "MoveToNextOutput") - (genBinding "comma" ["Super"] "PreviousOutput") - (genBinding "comma" ["Super" "Shift"] "MoveToPreviousOutput") + (genBinding "tab" ["Super"] "NextOutput") + (genBinding "tab" ["Super" "Shift"] "MoveToNextOutput") + (genBinding "grave" ["Super"] "PreviousOutput") + (genBinding "grave" ["Super" "Shift"] "MoveToPreviousOutput") (genSpawnBinding "f" ["Super"] "firefox") (genSpawnBinding "e" ["Super"] "nautilus") (genSpawnBinding "equal" ["Super"] "keepassxc") @@ -101,6 +110,12 @@ in { (genSpawnBinding "e" ["Super" "Shift"] "wlogout") ]; }; + environment.cosmic.excludePackages = with pkgs; [ + cosmic-store + cosmic-files + cosmic-edit + cosmic-term + ]; services.displayManager.cosmic-greeter.enable = true; services.system76-scheduler.enable = true; } diff --git a/util/cosmic.nix b/util/cosmic.nix index 2dcab96..e5f50aa 100644 --- a/util/cosmic.nix +++ b/util/cosmic.nix @@ -2,51 +2,7 @@ lib, config, ... -}: -# possible actions: -# ----------------- -# Terminate, -# Debug, -# Close, -# Escape, -# Workspace(u8), -# NextWorkspace, -# PreviousWorkspace, -# LastWorkspace, -# MoveToWorkspace(u8), -# MoveToNextWorkspace, -# MoveToPreviousWorkspace, -# MoveToLastWorkspace, -# SendToWorkspace(u8), -# SendToNextWorkspace, -# SendToPreviousWorkspace, -# SendToLastWorkspace, -# NextOutput, -# PreviousOutput, -# MoveToNextOutput, -# MoveToPreviousOutput, -# SendToNextOutput, -# SendToPreviousOutput, -# SwitchOutput(Direction), -# MoveToOutput(Direction), -# SendToOutput(Direction), -# MigrateWorkspaceToNextOutput, -# MigrateWorkspaceToPreviousOutput, -# MigrateWorkspaceToOutput(Direction), -# Focus(FocusDirection), -# Move(Direction), -# ToggleOrientation, -# Orientation(crate::shell::layout::Orientation), -# ToggleStacking, -# ToggleTiling, -# ToggleWindowFloating, -# ToggleSticky, -# SwapWindow, -# Resizing(ResizeDirection), -# Minimize, -# Maximize, -# Spawn(String), -let +}: let inherit (lib) filterAttrs concatStrings concatStringsSep mapAttrsToList concatLists foldlAttrs concatMapAttrs mapAttrs' nameValuePair boolToString; inherit (builtins) typeOf toString stringLength; @@ -129,6 +85,13 @@ let key_bindings = mapBindings a; data_control_enabled = false; }; + mapCosmicSettings = application: options: + mapAttrs' (k: v: + nameValuePair "xdg/cosmic/${application}/v${options.version}/${k}" { + enable = true; + text = serialise.${typeOf v} v; + }) + options.option; in { options.services.desktopManager.cosmic.keybindings = with lib; mkOption { @@ -184,12 +147,7 @@ in { } // concatMapAttrs ( application: options: - mapAttrs' (k: v: - nameValuePair "xdg/cosmic/${application}/v${options.version}/${k}" { - enable = true; - text = serialise.${typeOf v} v; - }) - options.option + mapCosmicSettings application options ) config.services.desktopManager.cosmic.otherSettings; }