From 0f9c0b974f843402e5ebaac6c543fa230ff47c6f Mon Sep 17 00:00:00 2001 From: Gabe Venberg Date: Sun, 15 Jun 2025 14:24:32 +0200 Subject: [PATCH] flake update, getting adgaurd working on the rockhole. --- configs/home-manager/mpd.nix | 358 +++++++++++-------------- configs/home-manager/zellij/config.kdl | 10 + configs/home-manager/zsh.nix | 2 +- configs/nixos/homepage.nix | 16 +- flake.lock | 98 ++++--- flake.nix | 2 +- hosts/rockhole64/adguard.nix | 2 + hosts/rockhole64/default.nix | 9 +- 8 files changed, 250 insertions(+), 247 deletions(-) diff --git a/configs/home-manager/mpd.nix b/configs/home-manager/mpd.nix index bff6300..9b4103c 100644 --- a/configs/home-manager/mpd.nix +++ b/configs/home-manager/mpd.nix @@ -3,218 +3,178 @@ pkgs, lib, ... -}: let - visualizer = false; -in { +}: { services.mpd = { enable = true; musicDirectory = "${config.home.homeDirectory}/Music"; network.startWhenNeeded = true; playlistDirectory = "${config.services.mpd.musicDirectory}/.mpd/playlists"; - extraConfig = - '' - restore_paused "yes" - auto_update "yes" - replaygain "auto" - follow_outside_symlinks "yes" + extraConfig = '' + restore_paused "yes" + auto_update "yes" + replaygain "auto" + follow_outside_symlinks "yes" - audio_output { - type "pipewire" - name "PipeWire Sound Server" - } - '' - + lib.optionalString visualizer - '' - #for ncmpcpp visualizer - audio_output { - type "fifo" - name "Visualizer feed" - path "/tmp/mpd.fifo" - format "44100:16:2" - } - ''; + audio_output { + type "pipewire" + name "PipeWire Sound Server" + } + ''; }; services.mpd-mpris.enable = true; - programs.ncmpcpp = { - enable = true; - package = lib.mkIf visualizer (pkgs.ncmpcpp.override {visualizerSupport = true;}); - settings = lib.mkIf visualizer { - visualizer_data_source = "/tmp/mpd.fifo"; - visualizer_output_name = "Visualizer feed"; - visualizer_in_stereo = "yes"; - visualizer_type = "spectrum"; - visualizer_fps = 60; - visualizer_autoscale = "no"; - visualizer_look = "●▮"; - visualizer_color = "blue, cyan, green, yellow, magenta, red"; - - ## - ## Note: The next few visualization options apply to the spectrum visualizer. - ## - visualizer_spectrum_smooth_look = "yes"; - - ## A value between 1 and 5 inclusive. Specifying a larger value makes the - ## visualizer look at a larger slice of time, which results in less jumpy - ## visualizer output. - visualizer_spectrum_dft_size = 2; - visualizer_spectrum_gain = 10; - visualizer_spectrum_hz_min = 20; - visualizer_spectrum_hz_max = 20000; - }; - }; - home.packages = with pkgs; [ mpc-cli playerctl - rmpc ]; - # rmpc config. - home.file.".config/rmpc/config.ron".text = '' - #![enable(implicit_some)] - #![enable(unwrap_newtypes)] - #![enable(unwrap_variant_newtypes)] - ( - address: "127.0.0.1:6600", - password: None, - theme: None, - cache_dir: None, - on_song_change: None, - volume_step: 5, - scrolloff: 0, - wrap_navigation: false, - enable_mouse: true, - status_update_interval_ms: 1000, - select_current_song_on_change: false, - album_art: ( - method: Auto, - max_size_px: (width: 600, height: 600), - ), - keybinds: ( - global: { - ":": CommandMode, - ",": VolumeDown, - "s": Stop, - ".": VolumeUp, - "c": ToggleSingle, - "": NextTab, - "": PreviousTab, - "1": SwitchToTab("Queue"), - "2": SwitchToTab("Directories"), - "3": SwitchToTab("Artists"), - "4": SwitchToTab("Album Artists"), - "5": SwitchToTab("Albums"), - "6": SwitchToTab("Playlists"), - "7": SwitchToTab("Search"), - "q": Quit, - "x": ToggleRandom, - ">": NextTrack, - "<": PreviousTrack, - "f": SeekForward, - "v": ToggleConsume, - "p": TogglePause, - "z": ToggleRepeat, - "b": SeekBack, - "~": ShowHelp, - "I": ShowCurrentSongInfo, - "O": ShowOutputs, - }, - navigation: { - "k": Up, - "j": Down, - "h": Left, - "l": Right, - "": Up, - "": Down, - "": Left, - "": Right, - "": PaneUp, - "": PaneDown, - "": PaneLeft, - "": PaneRight, - "": UpHalf, - "N": PreviousResult, - "a": Add, - "A": AddAll, - "r": Rename, - "n": NextResult, - "g": Top, - "": Select, - "G": Bottom, - "": Confirm, - "i": FocusInput, - "J": MoveDown, - "": DownHalf, - "/": EnterSearch, - "": Close, - "": Close, - "K": MoveUp, - "D": Delete, - }, - queue: { - "D": DeleteAll, - "": Play, - "": Save, - "a": AddToPlaylist, - "d": Delete, - "i": ShowInfo, - }, - ), - search: ( - case_sensitive: false, - mode: Contains, - tags: [ - (value: "any", label: "Any Tag"), - (value: "artist", label: "Artist"), - (value: "album", label: "Album"), - (value: "albumartist", label: "Album Artist"), - (value: "title", label: "Title"), - (value: "filename", label: "Filename"), - (value: "genre", label: "Genre"), - ], - ), - tabs: [ - ( - name: "Queue", - border_type: None, - pane: Split( - direction: Horizontal, - panes: [(size: "40%", pane: Pane(AlbumArt)), (size: "60%", pane: Pane(Queue))], - ), - ), - ( - name: "Directories", - border_type: None, - pane: Pane(Directories), - ), - ( - name: "Artists", - border_type: None, - pane: Pane(Artists), - ), - ( - name: "Album Artists", - border_type: None, - pane: Pane(AlbumArtists), - ), - ( - name: "Albums", - border_type: None, - pane: Pane(Albums), - ), - ( - name: "Playlists", - border_type: None, - pane: Pane(Playlists), - ), - ( - name: "Search", - border_type: None, - pane: Pane(Search), - ), - ], - ) - ''; + programs.rmpc = { + enable = true; + config = '' + #![enable(implicit_some)] + #![enable(unwrap_newtypes)] + #![enable(unwrap_variant_newtypes)] + ( + address: "127.0.0.1:6600", + password: None, + theme: None, + cache_dir: None, + on_song_change: None, + volume_step: 5, + scrolloff: 0, + wrap_navigation: false, + enable_mouse: true, + status_update_interval_ms: 1000, + select_current_song_on_change: false, + album_art: ( + method: Auto, + max_size_px: (width: 600, height: 600), + ), + keybinds: ( + global: { + ":": CommandMode, + ",": VolumeDown, + "s": Stop, + ".": VolumeUp, + "c": ToggleSingle, + "": NextTab, + "": PreviousTab, + "1": SwitchToTab("Queue"), + "2": SwitchToTab("Directories"), + "3": SwitchToTab("Artists"), + "4": SwitchToTab("Album Artists"), + "5": SwitchToTab("Albums"), + "6": SwitchToTab("Playlists"), + "7": SwitchToTab("Search"), + "q": Quit, + "x": ToggleRandom, + ">": NextTrack, + "<": PreviousTrack, + "f": SeekForward, + "v": ToggleConsume, + "p": TogglePause, + "z": ToggleRepeat, + "b": SeekBack, + "~": ShowHelp, + "I": ShowCurrentSongInfo, + "O": ShowOutputs, + }, + navigation: { + "k": Up, + "j": Down, + "h": Left, + "l": Right, + "": Up, + "": Down, + "": Left, + "": Right, + "": PaneUp, + "": PaneDown, + "": PaneLeft, + "": PaneRight, + "": UpHalf, + "N": PreviousResult, + "a": Add, + "A": AddAll, + "r": Rename, + "n": NextResult, + "g": Top, + "": Select, + "G": Bottom, + "": Confirm, + "i": FocusInput, + "J": MoveDown, + "": DownHalf, + "/": EnterSearch, + "": Close, + "": Close, + "K": MoveUp, + "D": Delete, + }, + queue: { + "D": DeleteAll, + "": Play, + "": Save, + "a": AddToPlaylist, + "d": Delete, + "i": ShowInfo, + }, + ), + search: ( + case_sensitive: false, + mode: Contains, + tags: [ + (value: "any", label: "Any Tag"), + (value: "artist", label: "Artist"), + (value: "album", label: "Album"), + (value: "albumartist", label: "Album Artist"), + (value: "title", label: "Title"), + (value: "filename", label: "Filename"), + (value: "genre", label: "Genre"), + ], + ), + tabs: [ + ( + name: "Queue", + border_type: None, + pane: Split( + direction: Horizontal, + panes: [(size: "40%", pane: Pane(AlbumArt)), (size: "60%", pane: Pane(Queue))], + ), + ), + ( + name: "Directories", + border_type: None, + pane: Pane(Directories), + ), + ( + name: "Artists", + border_type: None, + pane: Pane(Artists), + ), + ( + name: "Album Artists", + border_type: None, + pane: Pane(AlbumArtists), + ), + ( + name: "Albums", + border_type: None, + pane: Pane(Albums), + ), + ( + name: "Playlists", + border_type: None, + pane: Pane(Playlists), + ), + ( + name: "Search", + border_type: None, + pane: Pane(Search), + ), + ], + ) + ''; + }; } diff --git a/configs/home-manager/zellij/config.kdl b/configs/home-manager/zellij/config.kdl index a5c4086..cfb56ca 100644 --- a/configs/home-manager/zellij/config.kdl +++ b/configs/home-manager/zellij/config.kdl @@ -36,6 +36,7 @@ keybinds clear-defaults=true{ bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} + bind "i" { TogglePanePinned; SwitchToMode "Normal"; } } move { bind "Alt m" { SwitchToMode "Normal"; } @@ -199,6 +200,15 @@ plugins { filepicker location="zellij:strider" { cwd "/" } + configuration location="zellij:configuration" + plugin-manager location="zellij:plugin-manager" + about location="zellij:about" +} + +// Plugins to load in the background when a new session starts +load_plugins { + // "file:/path/to/my-plugin.wasm" + // "https://example.com/my-plugin.wasm" } show_startup_tips false diff --git a/configs/home-manager/zsh.nix b/configs/home-manager/zsh.nix index 23506c8..0392a0c 100644 --- a/configs/home-manager/zsh.nix +++ b/configs/home-manager/zsh.nix @@ -16,7 +16,7 @@ zsh = { enable = true; enableCompletion = true; - initExtra = lib.mkMerge [ + initContent = lib.mkMerge [ '' #have the menu highlight while we cycle through options zstyle ':completion:*' menu select diff --git a/configs/nixos/homepage.nix b/configs/nixos/homepage.nix index 107635a..1c69898 100644 --- a/configs/nixos/homepage.nix +++ b/configs/nixos/homepage.nix @@ -59,7 +59,7 @@ in { } { openmeteo = { - label = "Mainz"; + label = "Wiesbaden"; timezone = "Europe/Berlin"; units = "metric"; cache = 5; @@ -116,6 +116,20 @@ in { } { Internal = [ + { + HomeAssistant = { + icon = "sh-home-assistant.svg"; + href = "http://homeassistant.local:8123/"; + description = "Home Automation"; + }; + } + { + AdGuardHome = { + icon = "sh-adguard-home.svg"; + href = "http://10.10.0.2"; + description = "Home Automation"; + }; + } { Deluge = { icon = "sh-deluge.svg"; diff --git a/flake.lock b/flake.lock index 6e605a1..c2069cf 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ ] }, "locked": { - "lastModified": 1745930897, - "narHash": "sha256-m5cSxqeFFkLvJyiZ/bM5AkzvENcD42DJMPB0v6ImlGk=", + "lastModified": 1749851596, + "narHash": "sha256-y18i4gI02idT32m43jKp7HQ094JkstXaegdOA7KYaEE=", "owner": "9001", "repo": "copyparty", - "rev": "d1bca1f52f8769a1a968d707a5d2d62009bb9aa1", + "rev": "1eff87c3bd0f0e51306e55f61d86c3b9735b3618", "type": "github" }, "original": { @@ -36,11 +36,11 @@ ] }, "locked": { - "lastModified": 1727447169, - "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", + "lastModified": 1749105467, + "narHash": "sha256-hXh76y/wDl15almBcqvjryB50B0BaiXJKk20f314RoE=", "owner": "serokell", "repo": "deploy-rs", - "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", + "rev": "6bc76b872374845ba9d645a2f012b764fecd765f", "type": "github" }, "original": { @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1744940522, - "narHash": "sha256-TNoetfICvd29DhxRPpmyKItQBDlqSvKcV+wGNkn14jk=", + "lastModified": 1749436314, + "narHash": "sha256-CqmqU5FRg5AadtIkxwu8ulDSOSoIisUMZRLlcED3Q5w=", "owner": "nix-community", "repo": "disko", - "rev": "51d33bbb7f1e74ba5f9d9a77357735149da99081", + "rev": "dfa4d1b9c39c0342ef133795127a3af14598017a", "type": "github" }, "original": { @@ -71,11 +71,11 @@ }, "flake-compat": { "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -92,11 +92,11 @@ ] }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1744919155, - "narHash": "sha256-IJksPW32V9gid9vDxoloJMRk+YGjxq5drFHBFeBkKU8=", + "lastModified": 1749821119, + "narHash": "sha256-X3WAS322EsebI4ohJcXhKpiyG1v+7wE4VOiXy1pxM/c=", "owner": "nix-community", "repo": "home-manager", - "rev": "72526a5f7cde2ef9075637802a1e2a8d2d658f70", + "rev": "79dfd9aa295e53773aad45480b44c131da29f35b", "type": "github" }, "original": { @@ -175,16 +175,16 @@ ] }, "locked": { - "lastModified": 1729958008, - "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "lastModified": 1748294338, + "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", "owner": "NuschtOS", "repo": "ixx", - "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.6", + "ref": "v0.0.8", "repo": "ixx", "type": "github" } @@ -208,11 +208,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1744633460, - "narHash": "sha256-fbWE4Xpw6eH0Q6in+ymNuDwTkqmFmtxcQEmtRuKDTTk=", + "lastModified": 1749832440, + "narHash": "sha256-lfxhuxAaHlYFGr8yOrAXZqdMt8PrFLzjVqH9v3lQaoY=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9a049b4a421076d27fee3eec664a18b2066824cb", + "rev": "db030f62a449568345372bd62ed8c5be4824fa49", "type": "github" }, "original": { @@ -232,11 +232,11 @@ ] }, "locked": { - "lastModified": 1744290088, - "narHash": "sha256-/X9XVEl0EiyisNbF5srrxXRSVoRqdwExuqyspYqqEjQ=", + "lastModified": 1749574455, + "narHash": "sha256-fm2/8KPOYvvIAnNVtjDlTt/My00lIbZQ+LMrfQIWVzs=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "60b4904a1390ac4c89e93d95f6ed928975e525ed", + "rev": "917af390377c573932d84b5e31dd9f2c1b5c0f09", "type": "github" }, "original": { @@ -248,11 +248,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744932701, - "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -268,14 +268,15 @@ "nixpkgs": [ "nixpkgs" ], - "nuschtosSearch": "nuschtosSearch" + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_3" }, "locked": { - "lastModified": 1744874965, - "narHash": "sha256-eOnMgAWsjqOhGRoY9smkKlNQcCz9R89mgiKwLrCIYBE=", + "lastModified": 1749761870, + "narHash": "sha256-y+rCuxTylur4k2MbL8cJwOR3pHIamCxp8xG9Vuhwvgw=", "owner": "nix-community", "repo": "nixvim", - "rev": "500b56f023e0f095ffee2d4f79e58aa09e6b0719", + "rev": "18d838e88945b554d059db5f1fff1daed4b7bf8f", "type": "github" }, "original": { @@ -294,11 +295,11 @@ ] }, "locked": { - "lastModified": 1743683223, - "narHash": "sha256-LdXtHFvhEC3S64dphap1pkkzwjErbW65eH1VRerCUT0=", + "lastModified": 1749531675, + "narHash": "sha256-UB8Mc88rW9frjpJ1Fj2ro7f07Gg8dX3uVXvMXnFR4CE=", "owner": "NuschtOS", "repo": "search", - "rev": "56a49ffef2908dad1e9a8adef1f18802bc760962", + "rev": "4029d450d0266909ee52775849b7da54e79b328e", "type": "github" }, "original": { @@ -330,11 +331,11 @@ ] }, "locked": { - "lastModified": 1744669848, - "narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=", + "lastModified": 1749592509, + "narHash": "sha256-VunQzfZFA+Y6x3wYi2UE4DEQ8qKoAZZCnZPUlSoqC+A=", "owner": "mic92", "repo": "sops-nix", - "rev": "61154300d945f0b147b30d24ddcafa159148026a", + "rev": "50754dfaa0e24e313c626900d44ef431f3210138", "type": "github" }, "original": { @@ -372,6 +373,21 @@ "repo": "default", "type": "github" } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 4cb9f43..ee639b6 100644 --- a/flake.nix +++ b/flake.nix @@ -107,7 +107,7 @@ deploy = { nodes = { rockhole = { - hostname = "rockpro"; + hostname = "rockhole"; profiles.system.path = deploy-rs.lib.aarch64-linux.activate.nixos self.nixosConfigurations.rockhole; remoteBuild = true; }; diff --git a/hosts/rockhole64/adguard.nix b/hosts/rockhole64/adguard.nix index 9813901..1e71e99 100644 --- a/hosts/rockhole64/adguard.nix +++ b/hosts/rockhole64/adguard.nix @@ -9,5 +9,7 @@ enable = true; mutableSettings = true; allowDHCP = true; + openFirewall=true; + port=80; }; } diff --git a/hosts/rockhole64/default.nix b/hosts/rockhole64/default.nix index ed94293..5209474 100644 --- a/hosts/rockhole64/default.nix +++ b/hosts/rockhole64/default.nix @@ -35,17 +35,18 @@ inputs.nixpkgs.lib.nixosSystem { host.details = { user = "gabe"; fullName = "Gabe Venberg"; + gui.enable = false; }; networking.hostName = "rockhole"; # Define your hostname. networking.hostId = "e0c31928"; networking.useNetworkd = true; systemd.network = { enable = true; - networks."TODO" = { - name = "TODO"; + networks."0-end0" = { + name = "end0"; address = ["10.10.0.2/16"]; gateway = ["10.10.0.1"]; - dns = ["10.10.0.2"]; + dns = ["1.1.1.1"]; }; }; @@ -69,7 +70,7 @@ inputs.nixpkgs.lib.nixosSystem { }; }; imports = [ - ../../roles/home-manager/terminal.nix + ../../roles/home-manager/minimal-terminal.nix ../../configs/home-manager/common.nix inputs.nixvim.homeManagerModules.nixvim # ../../configs/home-manager/secrets.nix