Compare commits
No commits in common. "679f51e6da20a9243fed33b23ebb792cc56a2767" and "6da8588e4014f87b8d8abb8bfc6176ab31251f49" have entirely different histories.
679f51e6da
...
6da8588e40
10
.github/workflows/weekly-build-cache.yml
vendored
10
.github/workflows/weekly-build-cache.yml
vendored
@ -2,7 +2,8 @@ name: Weekly NixOS Build & Cache
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "30 09 * * 1,5"
|
||||
# Run every Sunday at 2 AM UTC
|
||||
- cron: "0 2 * * 0"
|
||||
workflow_dispatch: # Allow manual trigger
|
||||
|
||||
jobs:
|
||||
@ -52,12 +53,6 @@ jobs:
|
||||
echo "Building server configuration..."
|
||||
nix build .#nixosConfigurations.server.config.system.build.toplevel --quiet
|
||||
|
||||
- name: Build emacs-vm configuration
|
||||
if: steps.check_changes.outputs.changes == 'true'
|
||||
run: |
|
||||
echo "Building emacs-vm configuration..."
|
||||
nix build .#emacs-vm --quiet
|
||||
|
||||
- name: Push to cache
|
||||
if: steps.check_changes.outputs.changes == 'true'
|
||||
run: |
|
||||
@ -70,7 +65,6 @@ jobs:
|
||||
# Push the specific system derivations we just built
|
||||
nix build .#nixosConfigurations.workstation.config.system.build.toplevel --print-out-paths | attic push servidos:nixos --stdin
|
||||
nix build .#nixosConfigurations.server.config.system.build.toplevel --print-out-paths | attic push servidos:nixos --stdin
|
||||
nix build .#emacs-vm --print-out-paths | attic push servidos:nixos --stdin
|
||||
|
||||
- name: Commit updated flake.lock
|
||||
if: steps.check_changes.outputs.changes == 'true'
|
||||
|
||||
@ -35,8 +35,5 @@ _final: prev: {
|
||||
withVencord = true;
|
||||
withOpenASAR = true;
|
||||
};
|
||||
waybar = prev.waybar.overrideAttrs (old: {
|
||||
mesonFlags = old.mesonFlags ++ [ "-Dexperimental=true" ];
|
||||
});
|
||||
inherit (pkgsU) symbola mealie flaresolver;
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
{ pkgs, inputs }:
|
||||
{ pkgs }:
|
||||
let
|
||||
inherit (inputs) wallpapers;
|
||||
mkScheme =
|
||||
{
|
||||
color ? null,
|
||||
@ -27,12 +26,12 @@ in
|
||||
name = "mocha";
|
||||
color = "brown";
|
||||
polarity = "dark";
|
||||
image = "${wallpapers}/la_fragua_de_vulcano.jpg";
|
||||
image = ../wallpapers/la_fragua_de_vulcano.jpg;
|
||||
};
|
||||
who = mkScheme {
|
||||
name = "catppuccin-frappe";
|
||||
polarity = "dark";
|
||||
image = "${wallpapers}/Nikolay_Kasatkin_Who.jpeg";
|
||||
image = ../wallpapers/Nikolay_Kasatkin_Who.jpeg;
|
||||
iconPackage = pkgs.catppuccin-papirus-folders.override {
|
||||
flavor = "frappe";
|
||||
accent = "peach";
|
||||
@ -42,25 +41,25 @@ in
|
||||
name = "solarflare";
|
||||
color = "darkcyan";
|
||||
polarity = "dark";
|
||||
image = "${wallpapers}/space.jpg";
|
||||
image = ../wallpapers/space.jpg;
|
||||
};
|
||||
jesus = mkScheme {
|
||||
color = "red";
|
||||
name = "equilibrium-light";
|
||||
polarity = "light";
|
||||
image = "${wallpapers}/jesus.png";
|
||||
image = ../wallpapers/jesus.png;
|
||||
};
|
||||
ballerinas = mkScheme {
|
||||
color = "brown";
|
||||
name = "mocha";
|
||||
polarity = "dark";
|
||||
image = "${wallpapers}/Waay-Ballerinas.jpeg";
|
||||
image = ../wallpapers/Waay-Ballerinas.jpeg;
|
||||
};
|
||||
paul = mkScheme {
|
||||
color = "green";
|
||||
name = "valua";
|
||||
polarity = "light";
|
||||
image = "${wallpapers}/paul1.jpg";
|
||||
image = ../wallpapers/paul1.jpg;
|
||||
base16Scheme = {
|
||||
base00 = "#1a1f16"; # dark forest floor (was deep green-black)
|
||||
base01 = "#23291a"; # bark shadow
|
||||
@ -80,11 +79,12 @@ in
|
||||
base0F = "#5c8b55"; # swamp olive
|
||||
};
|
||||
};
|
||||
};
|
||||
cheems = mkScheme {
|
||||
color = "yellow";
|
||||
name = "equilibrium-light";
|
||||
polarity = "light";
|
||||
image = "${wallpapers}/cheems.png";
|
||||
image = ../wallpapers/cheems.png;
|
||||
base16Scheme = {
|
||||
base00 = "#f5f0e9"; # very light cream
|
||||
base01 = "#e8ddd4"; # light beige
|
||||
@ -104,5 +104,4 @@ in
|
||||
base0F = "#dc143c"; # crimson
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@ -2,14 +2,11 @@
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
schemesFile = import ./schemes.nix {
|
||||
inherit pkgs inputs;
|
||||
};
|
||||
scheme = schemesFile.schemes.cheems;
|
||||
schemesFile = import ./schemes.nix { inherit pkgs; };
|
||||
scheme = schemesFile.schemes.who;
|
||||
cfg = config.my.stylix;
|
||||
in
|
||||
{
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
@ -7,102 +8,22 @@ let
|
||||
${pkgs.waybar}/bin/waybar &
|
||||
${pkgs.swww}/bin/swww init &
|
||||
sleep 1
|
||||
${pkgs.swww}/bin/swww img ${./wallpaper.jpeg} &
|
||||
'';
|
||||
in
|
||||
{
|
||||
programs.hyprland.enable = true;
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings.default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
users.users.jawz.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
# Wayland utilities
|
||||
wl-clipboard
|
||||
wf-recorder
|
||||
grim
|
||||
slurp
|
||||
|
||||
wofi # Application launcher
|
||||
mako # Notification daemon
|
||||
libnotify # dependency of mako
|
||||
swaylock-effects # Screen locker
|
||||
nautilus # File manager
|
||||
;
|
||||
};
|
||||
config = {
|
||||
home-manager.users.jawz = {
|
||||
programs.kitty.enable = true;
|
||||
programs = {
|
||||
kitty.enable = true;
|
||||
};
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
systemd.variables = [ "--all" ];
|
||||
settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
exec-once = "${startupScript}/bin/start";
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
border_size = 2;
|
||||
layout = "dwindle";
|
||||
};
|
||||
dwindle = {
|
||||
pseudotile = true;
|
||||
preserve_split = true;
|
||||
force_split = 2;
|
||||
};
|
||||
bind = [
|
||||
"$mainMod, return, exec, kitty"
|
||||
"$mainMod, Q, killactive,"
|
||||
"$mainMod SHIFT, F, togglefloating,"
|
||||
"$mainMod, F, fullscreen,"
|
||||
"$mainMod, T, pin,"
|
||||
"$mainMod, G, togglegroup,"
|
||||
"$mainMod, bracketleft, changegroupactive, b"
|
||||
"$mainMod, bracketright, changegroupactive, f"
|
||||
"$mainMod, S, exec, wofi --show drun icons"
|
||||
"$mainMod, P, pin, active"
|
||||
|
||||
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
",XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
|
||||
"$mainMod, left, movefocus, l"
|
||||
"$mainMod, right, movefocus, r"
|
||||
"$mainMod, up, movefocus, u"
|
||||
"$mainMod, down, movefocus, d"
|
||||
|
||||
"$mainMod, h, movefocus, l"
|
||||
"$mainMod, l, movefocus, r"
|
||||
"$mainMod, k, movefocus, u"
|
||||
"$mainMod, j, movefocus, d"
|
||||
|
||||
"$mainMod SHIFT, h, movewindow, l"
|
||||
"$mainMod SHIFT, l, movewindow, r"
|
||||
"$mainMod SHIFT, k, movewindow, u"
|
||||
"$mainMod SHIFT, j, movewindow, d"
|
||||
];
|
||||
binde = [
|
||||
"$mainMod SHIFT, h, moveactive, -20 0"
|
||||
"$mainMod SHIFT, l, moveactive, 20 0"
|
||||
"$mainMod SHIFT, k, moveactive, 0 -20"
|
||||
"$mainMod SHIFT, j, moveactive, 0 20"
|
||||
|
||||
"$mainMod CTRL, l, resizeactive, 30 0"
|
||||
"$mainMod CTRL, h, resizeactive, -30 0"
|
||||
"$mainMod CTRL, k, resizeactive, 0 -10"
|
||||
"$mainMod CTRL, j, resizeactive, 0 10"
|
||||
];
|
||||
bindm = [
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
35
flake.lock
generated
35
flake.lock
generated
@ -456,11 +456,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759094452,
|
||||
"narHash": "sha256-j7IOTFnQRDjX4PzYb2p6CPviAc8cDrcorzGpM8J89uM=",
|
||||
"lastModified": 1759076381,
|
||||
"narHash": "sha256-ZWAsJnJvjjLMjH6hl5o4zVOTEuL3tmBzaJcoQYJE+aE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "f854b5bffbdd13cfe7edad0ee157d6947ff99619",
|
||||
"rev": "c30036bdacbe5e87b49d6de6df652d56681ef457",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -655,11 +655,11 @@
|
||||
"rev": "64a81ca78d03816ddcbbdc8a7b6186c975c6653a",
|
||||
"revCount": 104,
|
||||
"type": "git",
|
||||
"url": "https://git.servidos.lat/jawz/scripts.git"
|
||||
"url": "https://git.servidos.lat/lebubu/scripts.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.servidos.lat/jawz/scripts.git"
|
||||
"url": "https://git.servidos.lat/lebubu/scripts.git"
|
||||
}
|
||||
},
|
||||
"nix-gaming": {
|
||||
@ -845,11 +845,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759091793,
|
||||
"narHash": "sha256-BBeGZR3lbAp9x1CJxjQ2FkUZX4iOf5UIRvwUPQrSfFw=",
|
||||
"lastModified": 1759084735,
|
||||
"narHash": "sha256-G0m1drJGmQS2okeT6j33NzVKBbKPgb6+B786kzCjSiI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nur",
|
||||
"rev": "e88fd7766e9b1af996a438341cbbd51d6ca1c621",
|
||||
"rev": "1eac073db3f04be9eca753c8f0bf54b341e85e14",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -922,8 +922,7 @@
|
||||
"nur": "nur",
|
||||
"sops-nix": "sops-nix",
|
||||
"stylix": "stylix",
|
||||
"ucodenix": "ucodenix",
|
||||
"wallpapers": "wallpapers"
|
||||
"ucodenix": "ucodenix"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
@ -1179,22 +1178,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wallpapers": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1759117171,
|
||||
"narHash": "sha256-Oyp4MKcld+tlZISm2HvuRErgHUb2mztpOH6v3g8B9uA=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "0bc27e282a4c13d43139c4794e80a5951e4787b8",
|
||||
"revCount": 1,
|
||||
"type": "git",
|
||||
"url": "https://git.servidos.lat/jawz/wallpapers.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.servidos.lat/jawz/wallpapers.git"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
|
||||
@ -10,13 +10,9 @@
|
||||
inputs.nixpkgs.follows = "";
|
||||
};
|
||||
jawz-scripts = {
|
||||
url = "git+https://git.servidos.lat/jawz/scripts.git";
|
||||
url = "git+https://git.servidos.lat/lebubu/scripts.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
wallpapers = {
|
||||
url = "git+https://git.servidos.lat/jawz/wallpapers.git";
|
||||
flake = false;
|
||||
};
|
||||
nur = {
|
||||
url = "github:nix-community/nur";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
@ -6,7 +6,6 @@
|
||||
imports = [
|
||||
../../config/base.nix
|
||||
../../config/stylix.nix
|
||||
../../environments/hyprland.nix
|
||||
];
|
||||
virtualisation.vmVariant.virtualisation = {
|
||||
memorySize = 4096;
|
||||
@ -45,5 +44,10 @@
|
||||
];
|
||||
};
|
||||
networking.hostName = "emacs";
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
displayManager.lightdm.enable = true;
|
||||
windowManager.i3.enable = true;
|
||||
};
|
||||
environment.systemPackages = [ ];
|
||||
}
|
||||
|
||||
@ -24,8 +24,8 @@
|
||||
};
|
||||
in
|
||||
[
|
||||
(buildMachine "workstation" 8 40)
|
||||
(buildMachine "server" 6 17)
|
||||
(buildMachine "workstation" 16 40)
|
||||
(buildMachine "server" 16 17)
|
||||
];
|
||||
networking = {
|
||||
hostName = "miniserver";
|
||||
|
||||
@ -1,50 +1,32 @@
|
||||
let
|
||||
mkEnabled = name: {
|
||||
inherit name;
|
||||
value.enable = true;
|
||||
{
|
||||
emacs.enable = true;
|
||||
apps.dictionaries.enable = true;
|
||||
websites.portfolio.enableProxy = true;
|
||||
services.network.enable = true;
|
||||
enableProxy = true;
|
||||
shell = {
|
||||
tools.enable = true;
|
||||
multimedia.enable = true;
|
||||
};
|
||||
mkEnabledWithProxy = name: {
|
||||
inherit name;
|
||||
value = {
|
||||
dev = {
|
||||
nix.enable = true;
|
||||
python.enable = true;
|
||||
sh.enable = true;
|
||||
};
|
||||
units = {
|
||||
download.enable = true;
|
||||
stream-dl.enable = true;
|
||||
};
|
||||
scripts = {
|
||||
split-dir.enable = true;
|
||||
pika-list.enable = true;
|
||||
update-dns.enable = true;
|
||||
};
|
||||
servers = {
|
||||
audiobookshelf = {
|
||||
enable = true;
|
||||
enableProxy = true;
|
||||
};
|
||||
qbittorrent.enable = true;
|
||||
};
|
||||
enableList = func: list: list |> map func |> builtins.listToAttrs;
|
||||
in
|
||||
{
|
||||
emacs.enable = true;
|
||||
enableProxy = true;
|
||||
websites.portfolio.enableProxy = true;
|
||||
apps = enableList mkEnabled [
|
||||
"dictionaries"
|
||||
];
|
||||
services = enableList mkEnabled [
|
||||
"network"
|
||||
];
|
||||
shell = enableList mkEnabled [
|
||||
"tools"
|
||||
"multimedia"
|
||||
];
|
||||
dev = enableList mkEnabled [
|
||||
"nix"
|
||||
"python"
|
||||
"sh"
|
||||
];
|
||||
units = enableList mkEnabled [
|
||||
"download"
|
||||
"stream-dl"
|
||||
];
|
||||
scripts = enableList mkEnabled [
|
||||
"split-dir"
|
||||
"pika-list"
|
||||
"update-dns"
|
||||
];
|
||||
servers =
|
||||
enableList mkEnabled [
|
||||
"qbittorrent"
|
||||
]
|
||||
// enableList mkEnabledWithProxy [
|
||||
"audiobookshelf"
|
||||
];
|
||||
}
|
||||
|
||||
@ -31,8 +31,8 @@
|
||||
hostName = "workstation";
|
||||
system = "x86_64-linux";
|
||||
sshUser = "nixremote";
|
||||
maxJobs = 8;
|
||||
speedFactor = 2;
|
||||
maxJobs = 12;
|
||||
speedFactor = 1;
|
||||
supportedFeatures = config.my.nix.features;
|
||||
}
|
||||
];
|
||||
|
||||
@ -18,7 +18,6 @@ in
|
||||
emacs.enable = true;
|
||||
stylix.enable = true;
|
||||
enableProxy = true;
|
||||
enableContainers = true;
|
||||
apps.dictionaries.enable = true;
|
||||
shell = enableList mkEnabled [
|
||||
"tools"
|
||||
|
||||
@ -1,5 +1,20 @@
|
||||
{ lib, config, ... }:
|
||||
let
|
||||
enableContainers = lib.any (opt: opt) [
|
||||
config.my.servers.collabora.enable
|
||||
config.my.servers.ryot.enable
|
||||
config.my.servers.lidarr.enable
|
||||
config.my.servers.prowlarr.enable
|
||||
config.my.servers.maloja.enable
|
||||
config.my.servers.multi-scrobbler.enable
|
||||
config.my.servers.flame.enable
|
||||
config.my.servers.flameSecret.enable
|
||||
config.my.servers.metube.enable
|
||||
config.my.servers.go-vod.enable
|
||||
config.my.servers.tranga.enable
|
||||
config.my.servers.drpp.enable
|
||||
config.my.servers.plex-discord-bot.enable
|
||||
];
|
||||
filterNames = file: file != "librewolf.nix";
|
||||
autoImport =
|
||||
dir:
|
||||
@ -167,7 +182,7 @@ in
|
||||
virtualisation = {
|
||||
containers.enable = true;
|
||||
oci-containers.backend = "podman";
|
||||
podman = lib.mkIf config.my.enableContainers {
|
||||
podman = lib.mkIf (enableContainers || config.my.enableContainers) {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
dockerSocket.enable = true;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user