Compare commits

..

9 commits

Author SHA1 Message Date
Nick
8a06bb05fe feat: playing around with mpd and rmpc 2025-11-25 00:14:51 -06:00
Nick
c359f738ab feat: added tmp dir back 2025-11-24 19:52:36 -06:00
Nick
4fd3e14640 chore: changed to new convention 2025-11-24 19:29:09 -06:00
Nick
1fa809d7f5 chore: better provisioned vm resources 2025-11-24 19:28:55 -06:00
Nick
936e8207d0 chore: changed to new convention 2025-11-24 19:28:33 -06:00
Nick
16c70361a6 chore: switched home manager module to new convention 2025-11-24 19:28:08 -06:00
Nick
3908f12e5d feat: added prism launcher 2025-11-24 19:27:53 -06:00
Nick
2840b2af43 chore: changed nur import to new convention 2025-11-24 19:27:36 -06:00
Nick
41c5ec9b29 chore: updated git config 2025-11-24 19:27:02 -06:00
23 changed files with 538 additions and 77 deletions

View file

@ -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" ];

View file

@ -12,5 +12,12 @@ in
enable = true;
userName = userConfig.name;
userEmail = userConfig.email.address0;
# settings = {
# ${user} = {
# userName = userConfig.name;
# userEmail = userConfig.email.address0;
# };
# };
};
}

View file

@ -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;
}

View file

@ -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",
})
),
)

View file

@ -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,
"<Tab>": NextTab,
"<S-Tab>": 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>": Up,
"<Down>": Down,
"<Left>": Left,
"<Right>": Right,
"<C-k>": PaneUp,
"<C-j>": PaneDown,
"<C-h>": PaneLeft,
"<C-l>": PaneRight,
"<C-u>": UpHalf,
"N": PreviousResult,
"a": Add,
"A": AddAll,
"r": Rename,
"n": NextResult,
"g": Top,
"<Space>": Select,
"<C-Space>": InvertSelection,
"G": Bottom,
"<CR>": Confirm,
"i": FocusInput,
"J": MoveDown,
"<C-d>": DownHalf,
"/": EnterSearch,
"<C-c>": Close,
"<Esc>": Close,
"K": MoveUp,
"D": Delete,
"B": ShowInfo,
},
queue: {
"D": DeleteAll,
"<CR>": Play,
"<C-s>": 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: []
),
)

View file

@ -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;
}

View file

@ -102,6 +102,7 @@ in
obsidian
okular
printManager
prismLauncher
scrcpy
sharing
signal

View file

@ -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;
};
}

View file

@ -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;

View file

@ -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;
}
];
};
}

View file

@ -1,6 +1,6 @@
{ flake, pkgs, ... }:
{
environment.systemPackages = [
flake.inputs.tuios.packages.${pkgs.system}.default
flake.inputs.tuios.packages.${pkgs.stdenv.hostPlatform.system}.default
];
}

View file

@ -168,8 +168,8 @@ in
};
microvm = {
vcpu = 2;
mem = 3072;
vcpu = 1;
mem = 1024;
hypervisor = "qemu";
interfaces = [
{

View file

@ -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 = [
{

View file

@ -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 = [
{

View file

@ -397,8 +397,8 @@ in
environment.systemPackages = [ fedifetcherPython ];
microvm = {
vcpu = 4;
mem = 1024 * 8;
vcpu = 1;
mem = 1024 * 6;
hypervisor = "qemu";
interfaces = [
{

View file

@ -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 = [
{

View file

@ -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 = [

View file

@ -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 = [
{

View file

@ -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} = {

View file

@ -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";

View file

@ -19,6 +19,8 @@
just
nixfmt
just-lsp
rust-analyzer
rustfmt
litemdview
nil
openssl

View file

@ -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"; }

View file

@ -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
;