diff --git a/modules/home/cli/development/editing/helix/config/languages.nix b/modules/home/cli/development/editing/helix/config/languages.nix index 08674d3..09c0bca 100755 --- a/modules/home/cli/development/editing/helix/config/languages.nix +++ b/modules/home/cli/development/editing/helix/config/languages.nix @@ -64,6 +64,25 @@ auto-format = true; name = "rust"; } + { + name = "ron"; + scope = "source.ron"; + file-types = [ "ron" ]; + comment-token = "//"; + language-servers = [ "rust-analyzer" ]; + auto-format = true; + formatter = { + command = "rustfmt"; + args = [ + "--edition" + "2021" + ]; + }; + indent = { + tab-width = 4; + unit = " "; + }; + } { file-types = [ "txt" ]; language-servers = [ "vale" ]; diff --git a/modules/home/cli/development/versioning/git/default.nix b/modules/home/cli/development/versioning/git/default.nix index 6be6b72..dd98c49 100755 --- a/modules/home/cli/development/versioning/git/default.nix +++ b/modules/home/cli/development/versioning/git/default.nix @@ -12,5 +12,12 @@ in enable = true; userName = userConfig.name; userEmail = userConfig.email.address0; + + # settings = { + # ${user} = { + # userName = userConfig.name; + # userEmail = userConfig.email.address0; + # }; + # }; }; } diff --git a/modules/home/cli/fun/mpd/default.nix b/modules/home/cli/fun/mpd/default.nix new file mode 100644 index 0000000..d37423f --- /dev/null +++ b/modules/home/cli/fun/mpd/default.nix @@ -0,0 +1,28 @@ +{ + services = { + mpd = { + enable = true; + musicDirectory = "/mnt/media/ceres/storage/Music"; + extraConfig = '' + audio_output { + type "pulse" + name "my_fifo" + path "/tmp/mpd.fifo" + format "44100:16:2" + } + ''; + }; + mpd-discord-rpc = { + enable = true; + settings = { + format = { + hosts = [ "localhost:6600" ]; + details = "$title"; + state = "$artist"; + display_type = "state"; + }; + }; + }; + }; + programs.cava.enable = true; +} diff --git a/modules/home/cli/fun/rmpc/config/catppuccin-macchiato.ron b/modules/home/cli/fun/rmpc/config/catppuccin-macchiato.ron new file mode 100644 index 0000000..e5df928 --- /dev/null +++ b/modules/home/cli/fun/rmpc/config/catppuccin-macchiato.ron @@ -0,0 +1,204 @@ +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +#![enable(unwrap_variant_newtypes)] +( + show_song_table_header: false, + draw_borders: true, + browser_column_widths: [20, 38, 42], + background_color: "#2e3440", + modal_backdrop: true, + text_color: "#d8dee9", + header_background_color: "#2e3440", + modal_background_color: "#2e3440", + preview_label_style: (fg: "#b48ead"), + preview_metadata_group_style: (fg: "#81a1c1"), + song_table_album_separator: None, + tab_bar: ( + enabled: true, + active_style: (fg: "#2e3440", bg: "#81A1C1", modifiers: "Bold"), + inactive_style: (fg: "#d8dee9", bg: "#2e3440"), + ), + highlighted_item_style: (fg: "#a3be8c", modifiers: "Bold"), + current_item_style: (fg: "#2e3440", bg: "#81a1c1", modifiers: "Bold"), + borders_style: (fg: "#81a1c1", modifiers: "Bold"), + highlight_border_style: (fg: "#81a1c1"), + symbols: (song: "󰝚 ", dir: " ", playlist: "󰲸 ", marker: "* ", ellipsis: "...", + song_style: (fg: "#81a1c1"), dir_style: (fg: "#81a1c1") + ), + progress_bar: ( + symbols: [" ", "█", "█", " ", " "], + track_style: (fg: "#1e2030"), + elapsed_style: (fg: "blue"), + thumb_style: (fg: "blue"), + ), + scrollbar: ( + symbols: ["│", "█", "▲", "▼"], + track_style: (), + ends_style: (), + thumb_style: (fg: "blue"), + ), + song_table_format: [ + ( + prop: (kind: Property(Artist), + default: (kind: Text("Unknown")) + ), + width: "20%", + ), + ( + prop: (kind: Property(Title), + default: (kind: Text("Unknown")) + ), + width: "35%", + ), + ( + prop: (kind: Property(Album), style: (fg: "white"), + default: (kind: Text("Unknown Album"), style: (fg: "white")) + ), + width: "30%", + ), + ( + prop: (kind: Property(Duration), + default: (kind: Text("-")) + ), + width: "15%", + alignment: Right, + ), + ], + layout: Split( + direction: Vertical, panes: [ + (size: "3", pane: Pane(Tabs)), + (size: "4", borders: "ALL", pane: Component("custom-header")), + (size: "100%", borders: "NONE", pane: Pane(TabContent)), + (size: "3", borders: "TOP | BOTTOM", pane: Pane(ProgressBar)), + ]), + header: (rows: []), + browser_song_format: [ + (kind: Group([ + (kind: Property(Track)), + (kind: Text(" ")), + ])), + (kind: Group([ + (kind: Property(Artist)), + (kind: Text(" - ")), + (kind: Property(Title)), + ]), default: (kind: Property(Filename))) + ], + level_styles: ( + info: (fg: "#a3be8c", bg: "#2e3440"), + warn: (fg: "#ebcb8b", bg: "#2e3440"), + error: (fg: "#bf616a", bg: "#2e3440"), + debug: (fg: "#d08770", bg: "#2e3440"), + trace: (fg: "#b48ead", bg: "#2e3440"), + ), + components: { + "custom_song_table_header": Split(borders: "ALL", direction: Horizontal, panes: [ + (size: "5", pane: Pane(Property(content: [ + (kind: Text(" 󰩳"), style: (fg: "#81a1c1")), + ], align: Left)) + ), + (size: "21%", pane: Pane(Property(content: [ + (kind: Text("Artist "), style: (fg: "#d8dee9")), + (kind: Text(""), style: (fg: "#81a1c1")) + ], align: Left)) + ), + (size: "39%", pane: Pane(Property(content: [ + (kind: Text("Title "), style: (fg: "#d8dee9")), + (kind: Text(""), style: (fg: "#81a1c1")) + ], align: Left)) + ), + (size: "33%", pane: Pane(Property(content: [ + (kind: Text("Album "), style: (fg: "#d8dee9")), + (kind: Text("󰀥"), style: (fg: "#81a1c1")) + ], align: Left)) + ), + (size: "7%", pane: Pane(Property(content: [ + (kind: Text("Length "), style: (fg: "#d8dee9")), + (kind: Text(" "), style: (fg: "#81a1c1")) + ], align: Right)) + ), + (size: "1", pane: Pane(Property(content: [ + (kind: Text(" "), style: (fg: "#81a1c1")), + ], align: Left)) + ), + ]), + "custom-header": Split(direction: Horizontal, panes: [ + (size: "33%", pane: Split(direction: Vertical, panes: [ + (size: "100%", pane: Pane(Property(content: [ + (kind: Text(""), style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(StateV2(playing_label: "  ", paused_label: "  ", stopped_label: "  "))),style: (fg: "#d8dee9")), + (kind: Text(" "), style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Widget(ScanStatus)), style: (fg: "#d8dee9", modifiers: "Bold")) + ], align: Left)) + ), + (size: "100%", pane: Pane(Property(content: [ + (kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(Elapsed)),style: (fg: "#d8dee9")), + (kind: Text(" / "),style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(Duration)),style: (fg: "#d8dee9")), + (kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(Bitrate)),default: (kind: Text(" ")),style: (fg: "#d8dee9")), + (kind: Text(" kbps"),style: (fg: "#81a1c1")), + (kind: Text(" ]"),style: (fg: "#81a1c1", modifiers: "Bold")) + ], align: Left)) + ), + ]) + ), + (size: "34%", pane: Split(direction: Vertical, panes: [ + (size: "100%", pane: Pane(Property(content: [ + (kind: Property(Song(Title)), style: (fg: "#d8dee9",modifiers: "Bold"), + default: (kind: Property(Song(Filename)), style: (fg: "#d8dee9",modifiers: "Bold"))) + ], align: Center)) + ), + (size: "100%", pane: Pane(Property(content: [ + (kind: Property(Song(Artist)), style: (fg: "#88c0d0"), + default: (kind: Text("Unknown Artist"), style: (fg: "#88c0d0"))), + (kind: Text(" - "), style: (fg: "#d8dee9")), + (kind: Property(Song(Album)),style: (fg: "#81a1c1" ), + default: (kind: Text("Unknown Album"), style: (fg: "#81a1c1"))) + ], align: Center)) + ), + ]) + ), + (size: "33%", pane: Split(direction: Vertical, panes: [ + (size: "100%", pane: Pane(Property(content: [ + (kind: Text(" 󱡬"), style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(Volume)), style: (fg: "#d8dee9")), + (kind: Text("% "), style: (fg: "#81a1c1", modifiers: "Bold")) + ], align: Right)) + ), + (size: "100%", pane: Pane(Property(content: [ + (kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(QueueLength())),style: (fg: "#d8dee9")), + (kind: Text(" 󰴍 | "),style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(QueueTimeTotal(separator: " "))),style: (fg: "#d8dee9")), + (kind: Text(" 󱎫 | "),style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(RepeatV2(on_label: "", off_label: "", + on_style: (fg: "#d8dee9", modifiers: "Bold"), off_style: (fg: "#4c566a", modifiers: "Bold"))))), + (kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(RandomV2(on_label: "", off_label: "", + on_style: (fg: "#d8dee9", modifiers: "Bold"), off_style: (fg: "#4c566a", modifiers: "Bold"))))), + (kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(ConsumeV2(on_label: "󰮯", off_label: "󰮯", oneshot_label: "󰮯󰇊", + on_style: (fg: "#d8dee9", modifiers: "Bold"), off_style: (fg: "#4c566a", modifiers: "Bold"))))), + (kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")), + (kind: Property(Status(SingleV2(on_label: "󰎤", off_label: "󰎦", oneshot_label: "󰇊", off_oneshot_label: "󱅊", + on_style: (fg: "#d8dee9", modifiers: "Bold"), off_style: (fg: "#4c566a", modifiers: "Bold"))))), + (kind: Text(" ]"),style: (fg: "#81a1c1", modifiers: "Bold")), + ], align: Right)) + ), + ]) + ), + ]) + }, + cava: ( + bar_symbols: ['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'], + bar_width: 1, bar_spacing: 1, + bg_color: "#2e3440", + bar_color: Gradient({ + 0: "#5e81ac", + 33: "#81a1c1", + 67: "#88c0d0", + 100: "#8fbcbb", + }) + ), +) diff --git a/modules/home/cli/fun/rmpc/config/config.ron b/modules/home/cli/fun/rmpc/config/config.ron new file mode 100644 index 0000000..5f03f93 --- /dev/null +++ b/modules/home/cli/fun/rmpc/config/config.ron @@ -0,0 +1,196 @@ +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +#![enable(unwrap_variant_newtypes)] +( + address: "127.0.0.1:6600", + password: None, + theme: Some("catppuccin-macchiato"), + cache_dir: None, + on_song_change: None, + volume_step: 5, + max_fps: 30, + scrolloff: 0, + wrap_navigation: false, + enable_mouse: true, + enable_config_hot_reload: true, + status_update_interval_ms: 1000, + rewind_to_start_sec: None, + reflect_changes_to_playlist: false, + select_current_song_on_change: false, + browser_song_sort: [Disc, Track, Artist, Title], + directories_sort: SortFormat(group_by_type: true, reverse: false), + album_art: ( + method: Auto, + max_size_px: (width: 1200, height: 1200), + disabled_protocols: ["http://", "https://"], + vertical_align: Center, + horizontal_align: Center, + ), + keybinds: ( + global: { + ":": CommandMode, + ",": VolumeDown, + "s": Stop, + ".": VolumeUp, + "": 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, + ">": NextTrack, + "p": TogglePause, + "<": PreviousTrack, + "f": SeekForward, + "z": ToggleRepeat, + "x": ToggleRandom, + "c": ToggleConsume, + "v": ToggleSingle, + "b": SeekBack, + "~": ShowHelp, + "u": Update, + "U": Rescan, + "I": ShowCurrentSongInfo, + "O": ShowOutputs, + "P": ShowDecoders, + "R": AddRandom, + }, + 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, + "": InvertSelection, + "G": Bottom, + "": Confirm, + "i": FocusInput, + "J": MoveDown, + "": DownHalf, + "/": EnterSearch, + "": Close, + "": Close, + "K": MoveUp, + "D": Delete, + "B": ShowInfo, + }, + queue: { + "D": DeleteAll, + "": Play, + "": Save, + "a": AddToPlaylist, + "d": Delete, + "C": JumpToCurrent, + "X": Shuffle, + }, + ), + 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"), + ], + ), + artists: ( + album_display_mode: SplitByDate, + album_sort_by: Date, + ), + tabs: [ + (name: "Home", pane: Split(direction: Horizontal, panes: [ + (size: "70%", borders: "NONE", pane: Split(direction: Vertical,panes: [ + (size: "3", borders: "ALL", pane: Component("custom_song_table_header")), + (size: "100%", borders: "ALL", pane: Pane(Queue)), + ]) + ), + (size: "30%", borders: "NONE", pane: Split(direction: Vertical, panes: [ + (size: "0.45r", borders: "ALL", pane: Pane(AlbumArt)), + (size: "100%", borders: "NONE", pane: Pane(Lyrics)), + ]) + ), + ]) + ), + (name: "Directories", pane: Split(direction: Horizontal,panes: [ + (size: "100%", borders: "ALL", pane: Pane(Directories)), + ]) + ), + (name: "Playlists", pane: Split(direction: Horizontal, panes: [ + (size: "100%", borders: "ALL", pane: Pane(Playlists)), + ]) + ), + (name: "Artists", pane: Split(direction: Horizontal, panes: [ + (size: "100%", borders: "ALL", pane: Pane(Artists)), + ]) + ), + (name: "Albums", pane: Split(direction: Horizontal, panes: [ + (size: "100%", borders: "ALL", pane: Pane(Albums)), + ]) + ), + (name: "Album Artists", pane: Split(direction: Horizontal, panes: [ + (size: "100%", borders: "ALL", pane: Pane(AlbumArtists)), + ]) + ), + (name: "Genre", pane: Split(direction: Horizontal, panes: [ + (size: "100%", borders: "ALL", pane: Pane(Browser(root_tag: "genre", separator: ";"))), + ]) + ), + (name: "Queue", pane: Split(direction: Horizontal, panes: [ + (size: "100%", borders: "ALL", pane: Pane(Queue)) + ]) + ), + (name: "Show",pane: Split(direction: Vertical, panes: [ + (size: "50%", pane: Split(direction: Horizontal, panes: [ + (size: "22%", borders: "ALL", pane: Pane(Queue)), + (size: "56%", borders: "ALL", pane: Pane(Lyrics)), + (size: "22%", borders: "ALL", pane: Pane(AlbumArt)), + ]) + ), + (size: "50%", borders: "ALL", pane: Pane(Cava)), + ]) + ), + (name: "Search", pane: Split(direction: Horizontal, panes: [ + (size: "100%", borders: "ALL", pane: Pane(Search)), + ]) + ), + ], + cava: ( + framerate: 60, autosens: true, sensitivity: 100, + lower_cutoff_freq: 50, higher_cutoff_freq: 10000, + input: ( + method: Fifo, + source: "/tmp/mpd.fifo", + sample_rate: 44100, + channels: 2, + samble_bits: 16, + ), + smoothing: ( + noise_reduction: 35, + ), + eq: [] + ), +) + diff --git a/modules/home/cli/fun/rmpc/default.nix b/modules/home/cli/fun/rmpc/default.nix new file mode 100644 index 0000000..9eadab3 --- /dev/null +++ b/modules/home/cli/fun/rmpc/default.nix @@ -0,0 +1,13 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + rmpc + ; + }; + xdg.configFile."rmpc/config.ron".source = ./config/config.ron; + xdg.configFile."rmpc/themes/catppuccin-macchiato.ron".source = ./config/catppuccin-macchiato.ron; +} diff --git a/modules/home/default.nix b/modules/home/default.nix index cd52b38..a728511 100755 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -102,6 +102,7 @@ in obsidian okular printManager + prismLauncher scrcpy sharing signal diff --git a/modules/home/gui/apps/browsers/floorp/config/extensions/default.nix b/modules/home/gui/apps/browsers/floorp/config/extensions/default.nix index 1c9a0f7..43a9a13 100755 --- a/modules/home/gui/apps/browsers/floorp/config/extensions/default.nix +++ b/modules/home/gui/apps/browsers/floorp/config/extensions/default.nix @@ -1,6 +1,7 @@ { pkgs, ... }: let - social-focus = pkgs.nur.repos.rycee.firefox-addons.buildFirefoxXpiAddon { + firefox-addons = pkgs.nur.repos.rycee.firefox-addons; + social-focus = firefox-addons.buildFirefoxXpiAddon { pname = "social-focus"; version = "7.2"; addonId = "{26b4f076-089c-4c69-8497-44b7e5c9faef}"; @@ -16,15 +17,13 @@ let in { extensions.packages = builtins.attrValues { - inherit (pkgs.nur.repos.rycee.firefox-addons) + inherit (firefox-addons) bitwarden sponsorblock ublock-origin unpaywall untrap-for-youtube ; - inherit - social-focus - ; + inherit social-focus; }; } diff --git a/modules/home/gui/apps/browsers/floorp/default.nix b/modules/home/gui/apps/browsers/floorp/default.nix index 020bc6f..d3be1ce 100755 --- a/modules/home/gui/apps/browsers/floorp/default.nix +++ b/modules/home/gui/apps/browsers/floorp/default.nix @@ -1,6 +1,7 @@ { pkgs, flake, + nur, osConfig, ... }: @@ -22,6 +23,8 @@ in { enable = true; + # package = (flake.inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.floorp); + # package = pkgs.floorp-bin; profiles = { ${user0} = { isDefault = true; diff --git a/modules/nixos/core/homeManager/default.nix b/modules/nixos/core/homeManager/default.nix index 836e8b5..711f72e 100755 --- a/modules/nixos/core/homeManager/default.nix +++ b/modules/nixos/core/homeManager/default.nix @@ -1,18 +1,16 @@ { flake, ... }: { + nixpkgs.config.allowUnfree = true; + nixpkgs.overlays = [ + flake.inputs.nur.overlays.default + ]; + home-manager = { useGlobalPkgs = true; useUserPackages = true; backupFileExtension = "backup5"; extraSpecialArgs = { - inherit - flake - ; + inherit flake; }; - sharedModules = [ - { - nixpkgs.config.allowUnfree = true; - } - ]; }; } diff --git a/modules/nixos/desktop/wayland/tuios/default.nix b/modules/nixos/desktop/wayland/tuios/default.nix index 3f72270..c9099c6 100755 --- a/modules/nixos/desktop/wayland/tuios/default.nix +++ b/modules/nixos/desktop/wayland/tuios/default.nix @@ -1,6 +1,6 @@ { flake, pkgs, ... }: { environment.systemPackages = [ - flake.inputs.tuios.packages.${pkgs.system}.default + flake.inputs.tuios.packages.${pkgs.stdenv.hostPlatform.system}.default ]; } diff --git a/modules/nixos/guests/firefly-iii/default.nix b/modules/nixos/guests/firefly-iii/default.nix index d517e38..a27b497 100755 --- a/modules/nixos/guests/firefly-iii/default.nix +++ b/modules/nixos/guests/firefly-iii/default.nix @@ -168,8 +168,8 @@ in }; microvm = { - vcpu = 2; - mem = 3072; + vcpu = 1; + mem = 1024; hypervisor = "qemu"; interfaces = [ { diff --git a/modules/nixos/guests/forgejo/default.nix b/modules/nixos/guests/forgejo/default.nix index 7e2ea7c..f36d6cd 100755 --- a/modules/nixos/guests/forgejo/default.nix +++ b/modules/nixos/guests/forgejo/default.nix @@ -120,8 +120,8 @@ in systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ]; microvm = { - vcpu = 2; - mem = 3072; + vcpu = 1; + mem = 1024; hypervisor = "qemu"; interfaces = [ { diff --git a/modules/nixos/guests/jellyfin/default.nix b/modules/nixos/guests/jellyfin/default.nix index fbd888f..da9c2ae 100755 --- a/modules/nixos/guests/jellyfin/default.nix +++ b/modules/nixos/guests/jellyfin/default.nix @@ -43,14 +43,14 @@ in serviceCfg.ports.port2 ]; - # fileSystems."/tmp" = { - # device = "tmpfs"; - # fsType = "tmpfs"; - # options = [ - # "size=4G" - # "mode=1777" - # ]; - # }; + fileSystems."/tmp" = { + device = "tmpfs"; + fsType = "tmpfs"; + options = [ + "size=4G" + "mode=1777" + ]; + }; systemd = { network = { @@ -82,8 +82,8 @@ in systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ]; microvm = { - vcpu = 2; - mem = 1024 * 3; + vcpu = 1; + mem = 1024; hypervisor = "qemu"; interfaces = [ { diff --git a/modules/nixos/guests/mastodon/default.nix b/modules/nixos/guests/mastodon/default.nix index 24334f9..69ad463 100755 --- a/modules/nixos/guests/mastodon/default.nix +++ b/modules/nixos/guests/mastodon/default.nix @@ -397,8 +397,8 @@ in environment.systemPackages = [ fedifetcherPython ]; microvm = { - vcpu = 4; - mem = 1024 * 8; + vcpu = 1; + mem = 1024 * 6; hypervisor = "qemu"; interfaces = [ { diff --git a/modules/nixos/guests/opencloud/ceresOpenCloud/default.nix b/modules/nixos/guests/opencloud/ceresOpenCloud/default.nix index ec5cbd2..25845b5 100755 --- a/modules/nixos/guests/opencloud/ceresOpenCloud/default.nix +++ b/modules/nixos/guests/opencloud/ceresOpenCloud/default.nix @@ -83,8 +83,8 @@ in systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ]; microvm = { - vcpu = 4; - mem = 4096; + vcpu = 1; + mem = 1024; hypervisor = "qemu"; interfaces = [ { diff --git a/modules/nixos/guests/projectSite/default.nix b/modules/nixos/guests/projectSite/default.nix index f234c5e..b3aadfb 100755 --- a/modules/nixos/guests/projectSite/default.nix +++ b/modules/nixos/guests/projectSite/default.nix @@ -9,7 +9,7 @@ let inherit (flake.config.services) instances; serviceCfg = instances.projectSite; host = flake.inputs.linkpage.secrets.domains.projectsite; - websitePkg = flake.inputs.linkpage.packages.${pkgs.system}.websiteFrontend; + websitePkg = flake.inputs.linkpage.packages.${pkgs.stdenv.hostPlatform.system}.websiteFrontend; in { systemd.tmpfiles.rules = [ diff --git a/modules/nixos/guests/vaultwarden/default.nix b/modules/nixos/guests/vaultwarden/default.nix index 96c7f64..c9fcdba 100755 --- a/modules/nixos/guests/vaultwarden/default.nix +++ b/modules/nixos/guests/vaultwarden/default.nix @@ -109,8 +109,8 @@ in systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ]; microvm = { - vcpu = 2; - mem = 3072; + vcpu = 1; + mem = 1024; hypervisor = "qemu"; interfaces = [ { diff --git a/modules/nixos/guests/website/default.nix b/modules/nixos/guests/website/default.nix index 5d15f5a..8c63d4e 100755 --- a/modules/nixos/guests/website/default.nix +++ b/modules/nixos/guests/website/default.nix @@ -9,7 +9,8 @@ let inherit (flake.config.services) instances; serviceCfg = instances.upRootNutrition; host = serviceCfg.domains.url0; - websitePkg = flake.inputs.upRootNutrition.packages.${pkgs.system}.websiteFrontend; + websitePkg = + flake.inputs.upRootNutrition.packages.${pkgs.stdenv.hostPlatform.system}.websiteFrontend; in { microvm.vms.${serviceCfg.name} = { diff --git a/modules/nixos/guests/zookeeper/default.nix b/modules/nixos/guests/zookeeper/default.nix index 6da2a07..8972802 100755 --- a/modules/nixos/guests/zookeeper/default.nix +++ b/modules/nixos/guests/zookeeper/default.nix @@ -94,12 +94,6 @@ in source = "/nix/store"; tag = "read_only_nix_store"; } - { - mountPoint = "/var/lib/${serviceCfg.name}"; - proto = "virtiofs"; - source = serviceCfg.mntPaths.path0; - tag = "${serviceCfg.name}_data"; - } { mountPoint = "/run/secrets"; proto = "virtiofs"; diff --git a/parts/default.nix b/parts/default.nix index e5dbb82..ba2c0f9 100755 --- a/parts/default.nix +++ b/parts/default.nix @@ -19,6 +19,8 @@ just nixfmt just-lsp + rust-analyzer + rustfmt litemdview nil openssl diff --git a/systems/deimos/config/filesystem.nix b/systems/deimos/config/filesystem.nix index 227423a..c90ef41 100755 --- a/systems/deimos/config/filesystem.nix +++ b/systems/deimos/config/filesystem.nix @@ -5,49 +5,45 @@ }: let inherit (flake.config.people) user0; - inherit (flake.config.machines.devices) deimos ceres; - inherit (flake.config.services) instances; + inherit (flake.config.machines.devices) deimos ceres eris; - ceresSecrets = config.sops.secrets."network/server".path; + sambaSecrets = config.sops.secrets."network/server".path; in { fileSystems = let - - sambaDrives = [ + erisDrives = [ "samba0" ]; - - remoteDrives = [ - "remote0" + erisFolders = [ + "raid0" ]; - - remoteFolders = [ - instances.audiobookshelf.name - instances.jellyfin.name - instances.comfyui.name - # instances.opencloud.name + ceresDrives = [ + "samba0" ]; - - sambaMounts = sambaDrive: folder: { + ceresFolders = [ + "storage" + ]; + erisMounts = sambaDrive: folder: { + name = "${eris.${sambaDrive}.mount}/${folder}"; + value = { + device = "${eris.${sambaDrive}.device}/${folder}"; + fsType = "cifs"; + options = eris.${sambaDrive}.options ++ [ + "credentials=${sambaSecrets}" + ]; + }; + }; + ceresMounts = sambaDrive: folder: { name = "${ceres.${sambaDrive}.mount}/${folder}"; value = { device = "${ceres.${sambaDrive}.device}/${folder}"; fsType = "cifs"; options = ceres.${sambaDrive}.options ++ [ - "credentials=${ceresSecrets}" + "credentials=${sambaSecrets}" ]; }; }; - - sshfsMounts = sshfsDrive: folder: { - name = "${ceres.${sshfsDrive}.mount}/${folder}"; - value = { - device = "${ceres.${sshfsDrive}.device}/${folder}"; - fsType = "sshfs"; - options = ceres.${sshfsDrive}.options; - }; - }; in { "/" = { @@ -59,13 +55,13 @@ in fsType = "vfat"; options = deimos.boot.options; }; - }; - # // (builtins.listToAttrs ( - # builtins.concatMap (drive: map (folder: sambaMounts drive folder) remoteFolders) sambaDrives - # )) - # // (builtins.listToAttrs ( - # builtins.concatMap (drive: map (folder: sshfsMounts drive folder) remoteFolders) remoteDrives - # )); + } + // (builtins.listToAttrs ( + builtins.concatMap (drive: map (folder: ceresMounts drive folder) ceresFolders) ceresDrives + )) + // (builtins.listToAttrs ( + builtins.concatMap (drive: map (folder: erisMounts drive folder) erisFolders) erisDrives + )); swapDevices = [ { device = "/dev/disk/by-uuid/027a1efb-6c4e-4c1a-9956-91c7513950b4"; } diff --git a/templates/website/flake.nix b/templates/website/flake.nix index 574de69..2f5889f 100755 --- a/templates/website/flake.nix +++ b/templates/website/flake.nix @@ -37,7 +37,7 @@ hlint fourmolu ; - inherit (inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.elmPackages) + inherit (inputs.nixpkgs-stable.legacyPackages.${pkgs.stdenv.hostPlatform.system}.elmPackages) elm elm-format elm-land @@ -60,7 +60,7 @@ name = "website"; src = ./frontend; nativeBuildInputs = builtins.attrValues { - inherit (inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.elmPackages) + inherit (inputs.nixpkgs-stable.legacyPackages.${pkgs.stdenv.hostPlatform.system}.elmPackages) elm elm-land ;