remove old stuff

This commit is contained in:
RingOfStorms (Joshua Bell) 2025-08-29 16:44:34 -05:00
parent 384ece931e
commit 7f706e870e
102 changed files with 211 additions and 2477 deletions

View file

@ -93,6 +93,10 @@ with lib;
environment.sessionVariables = { environment.sessionVariables = {
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";
GTK_THEME = "Adwaita:dark"; GTK_THEME = "Adwaita:dark";
XDG_SESSION_TYPE = "wayland";
XDG_CURRENT_DESKTOP = "Hyprland";
XDG_SESSION_DESKTOP = "Hyprland";
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
}; };
# Qt theming # Qt theming

View file

@ -25,6 +25,9 @@ in
]; ];
settings = lib.attrsets.recursiveUpdate { settings = lib.attrsets.recursiveUpdate {
# TODO determine if need to keep
env = [ "XWAYLAND_NO_GLAMOR,1" ];
# Default monitor configuration # Default monitor configuration
monitor = "monitor = , preferred, auto, 1"; monitor = "monitor = , preferred, auto, 1";

View file

@ -0,0 +1,196 @@
{
config,
lib,
...
}:
let
name = "forgejo";
hostDataDir = "/var/lib/${name}";
hostAddress = "10.0.0.1";
containerAddress = "10.0.0.2";
hostAddress6 = "fc00::1";
containerAddress6 = "fc00::2";
binds = [
# Postgres data, must use postgres user in container and host
{
host = "${hostDataDir}/postgres";
# Adjust based on container postgres data dir
container = "/var/lib/postgresql/17";
user = "postgres";
uid = config.ids.uids.postgres;
gid = config.ids.gids.postgres;
}
# Postgres backups
{
host = "${hostDataDir}/backups/postgres";
container = "/var/backup/postgresql";
user = "postgres";
uid = config.ids.uids.postgres;
gid = config.ids.gids.postgres;
}
# App data, uses custom user uid
{
host = "${hostDataDir}/data";
container = "/var/lib/forgejo";
user = "forgejo";
uid = 115;
gid = 115;
}
];
uniqueUsers = lib.foldl' (
acc: bind: if lib.lists.any (item: item.user == bind.user) acc then acc else acc ++ [ bind ]
) [ ] binds;
users = {
users = lib.listToAttrs (
lib.map (u: {
name = u.user;
value = {
isSystemUser = true;
name = u.user;
uid = u.uid;
group = u.user;
};
}) uniqueUsers
);
groups = lib.listToAttrs (
lib.map (g: {
name = g.user;
value.gid = g.gid;
}) uniqueUsers
);
};
in
{
# Ensure users exists on host machine with same IDs as container
inherit users;
# Ensure directories exist on host machine
system.activationScripts.createMediaServerDirs = ''
${lib.concatStringsSep "\n" (
lib.map (bind: ''
mkdir -p ${bind.host}
chown -R ${toString bind.user}:${toString bind.gid} ${bind.host}
chmod -R 750 ${bind.host}
'') binds
)}
'';
containers.${name} = {
ephemeral = true;
autoStart = true;
privateNetwork = true;
hostAddress = hostAddress;
localAddress = containerAddress;
hostAddress6 = hostAddress6;
localAddress6 = containerAddress6;
bindMounts = lib.foldl (
acc: bind:
{
"${bind.container}" = {
hostPath = bind.host;
isReadOnly = false;
};
}
// acc
) { } binds;
config =
{ config, pkgs, ... }:
{
system.stateVersion = "24.11";
networking = {
firewall = {
enable = true;
allowedTCPPorts = [
3000
3032
];
};
# Use systemd-resolved inside the container
# Workaround for bug https://github.com/NixOS/nixpkgs/issues/162686
useHostResolvConf = lib.mkForce false;
};
services.resolved.enable = true;
# Ensure users exist on container
inherit users;
services.postgresql = {
enable = true;
package = pkgs.postgresql_17.withJIT;
enableJIT = true;
authentication = ''
local all all trust
host all all 127.0.0.1/8 trust
host all all ::1/128 trust
host all all fc00::1/128 trust
'';
};
# Backup database
services.postgresqlBackup = {
enable = true;
};
services.forgejo = {
enable = true;
dump = {
enable = false;
type = "tar.gz";
};
database = {
type = "postgres";
};
settings = {
DEFAULT = {
APP_NAME = "Josh's Git";
};
server = {
PROTOCOL = "http";
DOMAIN = "git.joshuabell.xyz";
HTTP_ADDR = "0.0.0.0";
HTTP_PORT = 3000;
START_SSH_SERVER = true;
SSH_DOMAIN = "git.joshuabell.xyz";
SSH_LISTEN_HOST = "0.0.0.0";
SSH_LISTEN_PORT = 3032; # actual listen port
SSH_PORT = 3032; # used in UI
BUILTIN_SSH_SERVER_USER = "git";
LANDING_PAGE = "explore";
};
service = {
DISABLE_REGISTRATION = true;
ENABLE_BASIC_AUTHENTICATION = false;
DISABLE_USERS_PAGE = true;
DISABLE_ORGANIZATIONS_PAGE = true;
};
repository = {
# ENABLE_PUSH_CREATE_USER = true;
# ENABLE_PUSH_CREATE_ORG = true;
DISABLE_STARS = true;
DEFAULT_PRIVATE = "private";
};
admin = {
DISABLE_REGULAR_ORG_CREATION = true;
USER_DISABLED_FEATURES = "deletion";
};
other = {
SHOW_FOOTER_POWERED_BY = false;
SHOW_FOOTER_VERSION = false;
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false;
};
migrations = {
ALLOWED_DOMAINS = "*.github.com,github.com";
ALLOW_LOCALNETWORKS = true;
};
};
};
};
};
}

75
hosts/lio/flake.lock generated
View file

@ -235,22 +235,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": {
"locked": {
"lastModified": 1755186698,
"narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nvim_plugin-Almo7aya/openingh.nvim": { "nvim_plugin-Almo7aya/openingh.nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -1131,27 +1115,6 @@
"type": "github" "type": "github"
} }
}, },
"quickshell": {
"inputs": {
"nixpkgs": [
"zaphkiel",
"nixpkgs"
]
},
"locked": {
"lastModified": 1753595452,
"narHash": "sha256-vqkSDvh7hWhPvNjMjEDV4KbSCv2jyl2Arh73ZXe274k=",
"owner": "quickshell-mirror",
"repo": "quickshell",
"rev": "a5431dd02dc23d9ef1680e67777fed00fe5f7cda",
"type": "github"
},
"original": {
"owner": "quickshell-mirror",
"repo": "quickshell",
"type": "github"
}
},
"ragenix": { "ragenix": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
@ -1179,8 +1142,7 @@
"common": "common", "common": "common",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"ros_neovim": "ros_neovim", "ros_neovim": "ros_neovim"
"zaphkiel": "zaphkiel"
} }
}, },
"ros_neovim": { "ros_neovim": {
@ -1329,41 +1291,6 @@
"repo": "default", "repo": "default",
"type": "github" "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"
}
},
"zaphkiel": {
"inputs": {
"nixpkgs": "nixpkgs_5",
"quickshell": "quickshell",
"systems": "systems_3"
},
"locked": {
"lastModified": 1755452579,
"narHash": "sha256-yKowI51cKh1qUKlDq1zLDUC9wcBXlCRt/6rS5OiSOzo=",
"owner": "Rexcrazy804",
"repo": "Zaphkiel",
"rev": "692e3318338b90229bf67e1d9c3d73b7d4a8606c",
"type": "github"
},
"original": {
"owner": "Rexcrazy804",
"repo": "Zaphkiel",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -8,10 +8,6 @@
# common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles"; # common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles";
ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim";
zaphkiel = {
url = "github:Rexcrazy804/Zaphkiel";
};
}; };
outputs = outputs =

View file

@ -22,9 +22,15 @@
"usb_storage" "usb_storage"
"sd_mod" "sd_mod"
]; ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
systemd.tmpfiles.rules = [
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
];
hardware.graphics.extraPackages = with pkgs; [
rocmPackages.clr.icd
];
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-label/NIXROOT"; device = "/dev/disk/by-label/NIXROOT";

View file

@ -1,9 +0,0 @@
(
output: "all",
source: Color(Single((0.0, 0.0, 0.0))),
filter_by_theme: false,
rotation_frequency: 900,
filter_method: Lanczos,
scaling_mode: Zoom,
sampling_method: Alphanumeric,
)

View file

@ -1,9 +0,0 @@
(
output: "eDP-1",
source: Color(Single((0.0, 0.0, 0.0))),
filter_by_theme: false,
rotation_frequency: 900,
filter_method: Lanczos,
scaling_mode: Zoom,
sampling_method: Alphanumeric,
)

View file

@ -1,9 +0,0 @@
(
state: Enabled,
scroll_config: Some((
method: None,
natural_scroll: Some(true),
scroll_button: None,
scroll_factor: None,
)),
)

View file

@ -1,9 +0,0 @@
(
rules: "",
model: "pc104",
layout: "us",
variant: "",
options: Some("caps:escape"),
repeat_delay: 600,
repeat_rate: 25,
)

View file

@ -1,9 +0,0 @@
(
view: List,
folders_first: true,
show_hidden: false,
icon_sizes: (
list: 100,
grid: 100,
),
)

View file

@ -1,7 +0,0 @@
Some([
"com.system76.CosmicPanelLauncherButton",
"com.system76.CosmicPanelWorkspacesButton",
"com.system76.CosmicPanelAppButton",
"com.system76.CosmicAppList",
"com.system76.CosmicAppletMinimize",
])

View file

@ -1,5 +0,0 @@
Some((
wait_time: 1000,
transition_time: 200,
handle_size: 4,
))

View file

@ -1,3 +0,0 @@
Some([
"com.system76.CosmicAppletTime",
])

View file

@ -1,11 +0,0 @@
Some(([], [
"com.system76.CosmicAppletInputSources",
"com.system76.CosmicAppletStatusArea",
"com.system76.CosmicAppletTiling",
"com.system76.CosmicAppletAudio",
"com.system76.CosmicAppletNetwork",
"com.system76.CosmicAppletBattery",
"com.system76.CosmicAppletNotifications",
"com.system76.CosmicAppletBluetooth",
"com.system76.CosmicAppletPower",
]))

View file

@ -1,3 +0,0 @@
[
"Panel",
]

View file

@ -1,71 +0,0 @@
// https://github.com/pop-os/cosmic-settings/blob/master/cosmic-settings/src/pages/input/keyboard/shortcuts/mod.rs#L460-L550
// For action types
{
(
modifiers: [
Super,
],
key: "l",
): Focus(Right),
(
modifiers: [
Super,
],
key: "j",
): NextWorkspace,
(
modifiers: [
Super,
],
key: "h",
): Focus(Left),
(
modifiers: [
Super,
],
key: "k",
): PreviousWorkspace,
(
modifiers: [
Super,
],
key: "Return",
): Spawn("alacritty"),
(
modifiers: [
Super,
],
key: "space",
description: Some("launcher"),
): System(Launcher),
(
modifiers: [
Super,
],
): System(WorkspaceOverview),
(
modifiers: [
Super,
],
key: "Right",
): Disable,
(
modifiers: [
Super,
],
key: "Down",
): Disable,
(
modifiers: [
Super,
],
key: "Left",
): Disable,
(
modifiers: [
Super,
],
key: "Up",
): Disable,
}

View file

@ -1,3 +0,0 @@
[
Single((0.0, 0.0, 0.0)),
]

View file

@ -1,8 +0,0 @@
(
radius_0: (0.0, 0.0, 0.0, 0.0),
radius_xs: (2.0, 2.0, 2.0, 2.0),
radius_s: (2.0, 2.0, 2.0, 2.0),
radius_m: (2.0, 2.0, 2.0, 2.0),
radius_l: (2.0, 2.0, 2.0, 2.0),
radius_xl: (2.0, 2.0, 2.0, 2.0),
)

View file

@ -1,12 +0,0 @@
(
space_none: 0,
space_xxxs: 4,
space_xxs: 4,
space_xs: 8,
space_s: 8,
space_m: 16,
space_l: 24,
space_xl: 32,
space_xxl: 48,
space_xxxl: 64,
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
hover: (
red: 0.5576471,
green: 0.8305882,
blue: 0.8305882,
alpha: 1.0,
),
pressed: (
red: 0.38431373,
green: 0.55490196,
blue: 0.55490196,
alpha: 1.0,
),
selected: (
red: 0.5576471,
green: 0.8305882,
blue: 0.8305882,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
on: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
disabled: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
on_disabled: (
red: 0.2901961,
green: 0.46078432,
blue: 0.46078432,
alpha: 1.0,
),
border: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
disabled_border: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 0.5,
),
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
hover: (
red: 0.5576471,
green: 0.8305882,
blue: 0.8305882,
alpha: 1.0,
),
pressed: (
red: 0.38431373,
green: 0.55490196,
blue: 0.55490196,
alpha: 1.0,
),
selected: (
red: 0.5576471,
green: 0.8305882,
blue: 0.8305882,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.105882354,
green: 0.105882354,
blue: 0.105882354,
alpha: 1.0,
),
on: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
disabled: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
on_disabled: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.5,
),
border: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
disabled_border: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 0.5,
),
)

View file

@ -1,100 +0,0 @@
(
base: (
red: 0.105882354,
green: 0.105882354,
blue: 0.105882354,
alpha: 1.0,
),
component: (
base: (
red: 0.18219745,
green: 0.18219745,
blue: 0.18219745,
alpha: 1.0,
),
hover: (
red: 0.2639777,
green: 0.2639777,
blue: 0.2639777,
alpha: 1.0,
),
pressed: (
red: 0.34575796,
green: 0.34575796,
blue: 0.34575796,
alpha: 1.0,
),
selected: (
red: 0.2639777,
green: 0.2639777,
blue: 0.2639777,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.7532969,
green: 0.7532969,
blue: 0.75329685,
alpha: 0.2,
),
on: (
red: 0.7532969,
green: 0.7532969,
blue: 0.75329685,
alpha: 1.0,
),
disabled: (
red: 0.18219745,
green: 0.18219745,
blue: 0.18219745,
alpha: 1.0,
),
on_disabled: (
red: 0.46774718,
green: 0.46774718,
blue: 0.46774715,
alpha: 1.0,
),
border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 1.0,
),
disabled_border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 0.5,
),
),
divider: (
red: 0.2662247,
green: 0.2662247,
blue: 0.2662247,
alpha: 1.0,
),
on: (
red: 0.90759414,
green: 0.9075942,
blue: 0.90759414,
alpha: 1.0,
),
small_widget: (
red: 0.15292811,
green: 0.15292811,
blue: 0.15292808,
alpha: 0.25,
),
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 0.67058825,
green: 0.67058825,
blue: 0.67058825,
alpha: 0.25,
),
hover: (
red: 0.42862746,
green: 0.42862746,
blue: 0.42862746,
alpha: 0.4,
),
pressed: (
red: 0.2282353,
green: 0.2282353,
blue: 0.2282353,
alpha: 0.625,
),
selected: (
red: 0.42862746,
green: 0.42862746,
blue: 0.42862746,
alpha: 0.4,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.7532969,
green: 0.7532969,
blue: 0.75329685,
alpha: 0.2,
),
on: (
red: 0.7532969,
green: 0.7532969,
blue: 0.75329685,
alpha: 1.0,
),
disabled: (
red: 0.51056147,
green: 0.51056147,
blue: 0.51056147,
alpha: 0.34375,
),
on_disabled: (
red: 0.5107661,
green: 0.5107661,
blue: 0.5107661,
alpha: 0.625,
),
border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 1.0,
),
disabled_border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 0.5,
),
)

View file

@ -1,8 +0,0 @@
(
radius_0: (0.0, 0.0, 0.0, 0.0),
radius_xs: (2.0, 2.0, 2.0, 2.0),
radius_s: (2.0, 2.0, 2.0, 2.0),
radius_m: (2.0, 2.0, 2.0, 2.0),
radius_l: (2.0, 2.0, 2.0, 2.0),
radius_xl: (2.0, 2.0, 2.0, 2.0),
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 1.0,
green: 0.70980394,
blue: 0.70980394,
alpha: 1.0,
),
hover: (
red: 0.8933333,
green: 0.66117644,
blue: 0.66117644,
alpha: 1.0,
),
pressed: (
red: 0.59411764,
green: 0.4490196,
blue: 0.4490196,
alpha: 1.0,
),
selected: (
red: 0.8933333,
green: 0.66117644,
blue: 0.66117644,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
on: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
disabled: (
red: 1.0,
green: 0.70980394,
blue: 0.70980394,
alpha: 1.0,
),
on_disabled: (
red: 0.5,
green: 0.35490197,
blue: 0.35490197,
alpha: 1.0,
),
border: (
red: 1.0,
green: 0.70980394,
blue: 0.70980394,
alpha: 1.0,
),
disabled_border: (
red: 1.0,
green: 0.70980394,
blue: 0.70980394,
alpha: 0.5,
),
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 1.0,
green: 0.70980394,
blue: 0.70980394,
alpha: 1.0,
),
hover: (
red: 0.8933333,
green: 0.66117644,
blue: 0.66117644,
alpha: 1.0,
),
pressed: (
red: 0.59411764,
green: 0.4490196,
blue: 0.4490196,
alpha: 1.0,
),
selected: (
red: 0.8933333,
green: 0.66117644,
blue: 0.66117644,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.105882354,
green: 0.105882354,
blue: 0.105882354,
alpha: 1.0,
),
on: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
disabled: (
red: 1.0,
green: 0.70980394,
blue: 0.70980394,
alpha: 1.0,
),
on_disabled: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.5,
),
border: (
red: 1.0,
green: 0.70980394,
blue: 0.70980394,
alpha: 1.0,
),
disabled_border: (
red: 1.0,
green: 0.70980394,
blue: 0.70980394,
alpha: 0.5,
),
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.0,
),
hover: (
red: 0.46666667,
green: 0.46666667,
blue: 0.46666667,
alpha: 0.2,
),
pressed: (
red: 0.1882353,
green: 0.1882353,
blue: 0.1882353,
alpha: 0.5,
),
selected: (
red: 0.46666667,
green: 0.46666667,
blue: 0.46666667,
alpha: 0.2,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 0.2,
),
on: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 1.0,
),
disabled: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.0,
),
on_disabled: (
red: 0.3882353,
green: 0.3882353,
blue: 0.3882353,
alpha: 0.5,
),
border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 1.0,
),
disabled_border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 0.5,
),
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.0,
),
hover: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.0,
),
pressed: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.0,
),
selected: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 0.2,
),
on: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
disabled: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.0,
),
on_disabled: (
red: 0.2901961,
green: 0.46078432,
blue: 0.46078432,
alpha: 0.5,
),
border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 1.0,
),
disabled_border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 0.5,
),
)

View file

@ -1,100 +0,0 @@
(
base: (
red: 0.15292811,
green: 0.15292811,
blue: 0.15292808,
alpha: 1.0,
),
component: (
base: (
red: 0.21220893,
green: 0.2122089,
blue: 0.2122089,
alpha: 1.0,
),
hover: (
red: 0.29098803,
green: 0.290988,
blue: 0.290988,
alpha: 1.0,
),
pressed: (
red: 0.36976713,
green: 0.36976713,
blue: 0.36976713,
alpha: 1.0,
),
selected: (
red: 0.29098803,
green: 0.290988,
blue: 0.290988,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.7913618,
green: 0.7913618,
blue: 0.7913618,
alpha: 0.2,
),
on: (
red: 0.7913618,
green: 0.7913618,
blue: 0.7913618,
alpha: 1.0,
),
disabled: (
red: 0.21220893,
green: 0.2122089,
blue: 0.2122089,
alpha: 1.0,
),
on_disabled: (
red: 0.5017854,
green: 0.50178534,
blue: 0.50178534,
alpha: 1.0,
),
border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 1.0,
),
disabled_border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 0.5,
),
),
divider: (
red: 0.31702772,
green: 0.31702772,
blue: 0.3170277,
alpha: 1.0,
),
on: (
red: 0.97342616,
green: 0.97342616,
blue: 0.97342604,
alpha: 1.0,
),
small_widget: (
red: 0.20212594,
green: 0.20212597,
blue: 0.20212597,
alpha: 0.25,
),
)

View file

@ -1,100 +0,0 @@
(
base: (
red: 0.20212594,
green: 0.20212597,
blue: 0.20212597,
alpha: 1.0,
),
component: (
base: (
red: 0.23260304,
green: 0.23260307,
blue: 0.23260304,
alpha: 1.0,
),
hover: (
red: 0.30934274,
green: 0.30934277,
blue: 0.30934274,
alpha: 1.0,
),
pressed: (
red: 0.38608244,
green: 0.38608247,
blue: 0.38608244,
alpha: 1.0,
),
selected: (
red: 0.30934274,
green: 0.30934277,
blue: 0.30934274,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.81693083,
green: 0.8169309,
blue: 0.8169309,
alpha: 0.2,
),
on: (
red: 0.81693083,
green: 0.8169309,
blue: 0.8169309,
alpha: 1.0,
),
disabled: (
red: 0.23260304,
green: 0.23260307,
blue: 0.23260304,
alpha: 1.0,
),
on_disabled: (
red: 0.5247669,
green: 0.524767,
blue: 0.524767,
alpha: 1.0,
),
border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 1.0,
),
disabled_border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 0.5,
),
),
divider: (
red: 0.3174277,
green: 0.31742772,
blue: 0.3174277,
alpha: 1.0,
),
on: (
red: 0.7786347,
green: 0.7786347,
blue: 0.77863467,
alpha: 1.0,
),
small_widget: (
red: 0.2532908,
green: 0.25329086,
blue: 0.2532908,
alpha: 0.25,
),
)

View file

@ -1,12 +0,0 @@
(
space_none: 0,
space_xxxs: 4,
space_xxs: 4,
space_xs: 8,
space_s: 8,
space_m: 16,
space_l: 24,
space_xl: 32,
space_xxl: 48,
space_xxxl: 64,
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 0.6745098,
green: 0.96862745,
blue: 0.8235294,
alpha: 1.0,
),
hover: (
red: 0.63294125,
green: 0.86823535,
blue: 0.75215685,
alpha: 1.0,
),
pressed: (
red: 0.43137255,
green: 0.57843137,
blue: 0.5058824,
alpha: 1.0,
),
selected: (
red: 0.63294125,
green: 0.86823535,
blue: 0.75215685,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
on: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
disabled: (
red: 0.6745098,
green: 0.96862745,
blue: 0.8235294,
alpha: 1.0,
),
on_disabled: (
red: 0.3372549,
green: 0.48431373,
blue: 0.4117647,
alpha: 1.0,
),
border: (
red: 0.6745098,
green: 0.96862745,
blue: 0.8235294,
alpha: 1.0,
),
disabled_border: (
red: 0.6745098,
green: 0.96862745,
blue: 0.8235294,
alpha: 0.5,
),
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.0,
),
hover: (
red: 0.46666667,
green: 0.46666667,
blue: 0.46666667,
alpha: 0.2,
),
pressed: (
red: 0.1882353,
green: 0.1882353,
blue: 0.1882353,
alpha: 0.5,
),
selected: (
red: 0.46666667,
green: 0.46666667,
blue: 0.46666667,
alpha: 0.2,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 0.2,
),
on: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
disabled: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.0,
),
on_disabled: (
red: 0.2901961,
green: 0.46078432,
blue: 0.46078432,
alpha: 0.5,
),
border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 1.0,
),
disabled_border: (
red: 0.7764706,
green: 0.7764706,
blue: 0.7764706,
alpha: 0.5,
),
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 1.0,
green: 0.94509804,
blue: 0.61960787,
alpha: 1.0,
),
hover: (
red: 0.8933333,
green: 0.8494117,
blue: 0.58901966,
alpha: 1.0,
),
pressed: (
red: 0.59411764,
green: 0.56666666,
blue: 0.40392157,
alpha: 1.0,
),
selected: (
red: 0.8933333,
green: 0.8494117,
blue: 0.58901966,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
on: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
disabled: (
red: 1.0,
green: 0.94509804,
blue: 0.61960787,
alpha: 1.0,
),
on_disabled: (
red: 0.5,
green: 0.47254902,
blue: 0.30980393,
alpha: 1.0,
),
border: (
red: 1.0,
green: 0.94509804,
blue: 0.61960787,
alpha: 1.0,
),
disabled_border: (
red: 1.0,
green: 0.94509804,
blue: 0.61960787,
alpha: 0.5,
),
)

View file

@ -1,74 +0,0 @@
(
base: (
red: 1.0,
green: 0.94509804,
blue: 0.61960787,
alpha: 1.0,
),
hover: (
red: 0.8933333,
green: 0.8494117,
blue: 0.58901966,
alpha: 1.0,
),
pressed: (
red: 0.59411764,
green: 0.56666666,
blue: 0.40392157,
alpha: 1.0,
),
selected: (
red: 0.8933333,
green: 0.8494117,
blue: 0.58901966,
alpha: 1.0,
),
selected_text: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
focus: (
red: 0.5803922,
green: 0.92156863,
blue: 0.92156863,
alpha: 1.0,
),
divider: (
red: 1.0,
green: 1.0,
blue: 1.0,
alpha: 1.0,
),
on: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 1.0,
),
disabled: (
red: 1.0,
green: 0.94509804,
blue: 0.61960787,
alpha: 1.0,
),
on_disabled: (
red: 0.0,
green: 0.0,
blue: 0.0,
alpha: 0.5,
),
border: (
red: 1.0,
green: 0.94509804,
blue: 0.61960787,
alpha: 1.0,
),
disabled_border: (
red: 1.0,
green: 0.94509804,
blue: 0.61960787,
alpha: 0.5,
),
)

View file

@ -1,8 +0,0 @@
(
radius_0: (0.0, 0.0, 0.0, 0.0),
radius_xs: (2.0, 2.0, 2.0, 2.0),
radius_s: (2.0, 2.0, 2.0, 2.0),
radius_m: (2.0, 2.0, 2.0, 2.0),
radius_l: (2.0, 2.0, 2.0, 2.0),
radius_xl: (2.0, 2.0, 2.0, 2.0),
)

View file

@ -1,12 +0,0 @@
(
space_none: 0,
space_xxxs: 4,
space_xxs: 4,
space_xs: 8,
space_s: 8,
space_m: 16,
space_l: 24,
space_xl: 32,
space_xxl: 48,
space_xxxl: 64,
)

View file

@ -1,8 +0,0 @@
(
radius_0: (0.0, 0.0, 0.0, 0.0),
radius_xs: (2.0, 2.0, 2.0, 2.0),
radius_s: (2.0, 2.0, 2.0, 2.0),
radius_m: (2.0, 2.0, 2.0, 2.0),
radius_l: (2.0, 2.0, 2.0, 2.0),
radius_xl: (2.0, 2.0, 2.0, 2.0),
)

View file

@ -1,12 +0,0 @@
(
space_none: 0,
space_xxxs: 4,
space_xxs: 4,
space_xs: 8,
space_s: 8,
space_m: 16,
space_l: 24,
space_xl: 32,
space_xxl: 48,
space_xxxl: 64,
)

View file

@ -1,79 +0,0 @@
{
"nodes": {
"cosmic": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1738041275,
"narHash": "sha256-4Oqq357Q//Ra5qV9PdPLMkdH0uFFxy1stQF8hTe8xEM=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "36eabddc2d033f4fd31c53570db7e1e21591cba3",
"type": "github"
},
"original": {
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1717312683,
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
"owner": "nix-community",
"repo": "flake-compat",
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "flake-compat",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1737885589,
"narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1737885640,
"narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4e96537f163fad24ed9eb317798a79afc85b51b7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"cosmic": "cosmic"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,88 +0,0 @@
{
inputs = {
cosmic.url = "github:lilyinstarlight/nixos-cosmic";
};
outputs =
{
cosmic,
...
}:
{
nixosModules = {
default =
{
config,
lib,
pkgs,
...
}:
let
cosmicConfigDir = ./config;
cosmicFiles = builtins.attrNames (builtins.readDir cosmicConfigDir);
cosmicConfigFiles = map (fileName: {
name = "cosmic/${fileName}";
value = {
source = "${cosmicConfigDir}/${fileName}";
# mode = "0644";
};
}) cosmicFiles;
cosmicConfigFilesAttrs = builtins.listToAttrs cosmicConfigFiles;
in
with lib;
{
options.mods.de_cosmic = {
users = mkOption {
type = types.listOf types.str;
description = "Users to apply cosmic DE settings to.";
default = (
lib.optionals (config.mods.common.primaryUser != null) [ config.mods.common.primaryUser ]
);
};
};
imports = [
cosmic.nixosModules.default
];
config = {
# Use cosmic binary cache
nix.settings = {
substituters = [ "https://cosmic.cachix.org/" ];
trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
};
environment.systemPackages = with pkgs; [
wl-clipboard
];
# Enable cosmic
services.desktopManager.cosmic.enable = true;
services.displayManager.cosmic-greeter.enable = true;
environment.cosmic.excludePackages = with pkgs; [
cosmic-edit
cosmic-term
cosmic-store
];
# there are cosmic-greeter files in /var/lib/cosmic-greeter/ and ~/.local/state/cosmic
# Config TODO my attempt to make this not home-manager driven...
# environment.etc = cosmicConfigFilesAttrs;
# systemd.user.tmpfiles.rules = [
# "L %h/.config/cosmic - - - - /etc/cosmic"
# ];
# Config TODO come up with a non home-manager way to do this. I dont want this flake to require home-manager from somewhere else to exist
home-manager.users = listToAttrs (
map (name: {
inherit name;
value = {
xdg.configFile = cosmicConfigFilesAttrs;
};
}) config.mods.de_cosmic.users
);
};
};
};
};
}

View file

@ -1,397 +0,0 @@
{
"nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1736102453,
"narHash": "sha256-5qb4kb7Xbt8jJFL/oDqOor9Z2+E+A+ql3PiyDvsfWZ0=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "4846091641f3be0ad7542086d52769bb7932bde6",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1734906540,
"narHash": "sha256-vQ/L9hZFezC0LquLo4TWXkyniWtYBlFHAKIsDc7PYJE=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "69270ba8f057d55b0e6c2dca0e165d652856e613",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1736115290,
"narHash": "sha256-Jcn6yAzfUMcxy3tN/iZRbi/QgrYm7XLyVRl9g/nbUl4=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "52202272d89da32a9f866c0d10305a5e3d954c50",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-protocols": "hyprland-protocols",
"hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1736873552,
"narHash": "sha256-VByeYPOu3I0a5r5Nn45loSaEV8M9fmZrTByUdu9sjfY=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "25add26881d7b98d2b80eb7a95d3aee0449b72b9",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1735774328,
"narHash": "sha256-vIRwLS9w+N99EU1aJ+XNOU6mJTxrUBa31i1r82l0V7s=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "e3b6af97ddcfaafbda8e2828c719a5af84f662cb",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-qtutils": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1736114838,
"narHash": "sha256-FxbuGQExtN37ToWYnGmO6weOYN6WPHN/RAqbr7gNPek=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "6997fe382dcf396704227d2b98ffdd5066da6959",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1735393019,
"narHash": "sha256-NPpqA8rtmDLsEmZOmz+qR67zsB6Y503Jnv+nSFLKJZ8=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "55608efdaa387af7bfdc0eddb404c409958efa43",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1736164519,
"narHash": "sha256-1LimBKvDpBbeX+qW7T240WEyw+DBVpDotZB4JYm8Aps=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "3c895da64b0eb19870142196fa48c07090b441c4",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1735493474,
"narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1736012469,
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735882644,
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"hyprland": "hyprland"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1734907020,
"narHash": "sha256-p6HxwpRKVl1KIiY5xrJdjcEeK3pbmc///UOyV6QER+w=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "d7f18dda5e511749fa1511185db3536208fb1a63",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,225 +0,0 @@
{
inputs = {
# TODO requires home-manager module to be on the system as well, byohm
hyprland = {
url = "github:hyprwm/Hyprland";
};
};
outputs =
{
hyprland,
...
}:
{
nixosModules = {
default =
{
config,
lib,
pkgs,
...
}:
let
pkgs-unstable = hyprland.inputs.nixpkgs.legacyPackages.${pkgs.system};
cfg = config.mods.de_hyprland;
in
with lib;
{
options.mods.de_hyprland = {
users = mkOption {
type = types.listOf types.str;
description = "Users to apply cosmic DE settings to.";
default = (
lib.optionals (config.mods.common.primaryUser != null) [ config.mods.common.primaryUser ]
);
};
amd = mkEnableOption "Enable AMD graphics drivers.";
nvidia = mkEnableOption "Enable NVIDIA graphics drivers.";
};
imports = [
# cosmic.nixosModules.default
];
config = {
# Polkit required
security.polkit.enable = true;
# amd drivers
boot.initrd.kernelModules = mkIf cfg.amd [ "amdgpu" ];
systemd.tmpfiles.rules = mkIf cfg.amd [
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
];
hardware.graphics.extraPackages = mkIf cfg.amd (
with pkgs;
[
rocmPackages.clr.icd
]
);
services.xserver = {
enable = true;
xkb.layout = "us";
# videosDrivers = ["nvidia"];
vidoesDrivers = mkIf cfg.nvidia [ "nvidia" ];
videoDrivers = mkIf cfg.amd [ "amdgpu" ];
displayManager.gdm = {
enable = true;
wayland = true;
};
};
xdg = {
autostart.enable = true;
portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal
pkgs.xdg-desktop-portal-gtk
];
};
};
security = {
pam.services.swaylock = {
text = ''
auth include login
'';
};
};
programs = {
hyprland = {
enable = true;
# nvidiaPatches = true;
xwayland.enable = true;
# set the flake package
package = hyprland.packages.${pkgs.system}.hyprland;
# make sure to also set the portal package, so that they are in sync
portalPackage = hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
};
waybar = {
enable = true;
};
thunar = {
enable = true;
};
};
environment.systemPackages = with pkgs; [
clinfo # TODO only in amd
# required
dconf
xwayland
kitty
swaylock
swayidle
xdg-utils
xdg-desktop-portal-hyprland
xdg-desktop-portal
xdg-desktop-portal-gtk
];
environment.sessionVariables = {
# If cursor becomes invisible
# WLR_NO_HARDWARE_CURSORS = "1";
# Optional, hint Electron apps to use Wayland:
NIXOS_OZONE_WL = "1";
XDG_SESSION_TYPE = "wayland";
XDG_CURRENT_DESKTOP = "Hyprland";
XDG_SESSION_DESKTOP = "Hyprland";
};
# FPS drops in games or programs like Blender on stable NixOS when using the Hyprland flake, it is most likely a mesa version mismatch between your system and Hyprland
hardware = {
graphics = {
enable = true;
# nvidia.modsettings.enable = true;
package = pkgs-unstable.mesa.drivers;
# if you also want 32-bit support (e.g for Steam)
enable32Bit = true;
package32 = pkgs-unstable.pkgsi686Linux.mesa.drivers;
};
# TODO nvidia...
};
# Config TODO come up with a non home-manager way to do this. I dont want this flake to require home-manager from somewhere else to exist
home-manager.users = listToAttrs (
map (name: {
inherit name;
value = {
programs.kitty.enable = true; # required for the default Hyprland config
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
package = hyprland.packages.${pkgs.system}.hyprland;
# plugins = [
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
# "/absolute/path/to/plugin.so"
# ];
settings = {
"$mod" = "SUPER";
bind =
[
"$mod, F, exec, firefox"
", Print, exec, grimblast copy area"
]
++ (
# workspaces
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
builtins.concatLists (
builtins.genList (
i:
let
ws = i + 1;
in
[
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
]
) 9
)
);
};
# Programs dont work in systemd services, but do on the terminal fix
systemd = {
enable = true;
variables = [ "--all" ];
};
};
# Fixing problems with themes TODO use this?
# home.pointerCursor = {
# gtk.enable = true;
# # x11.enable = true;
# package = pkgs.bibata-cursors;
# name = "Bibata-Modern-Classic";
# size = 16;
# };
#
# gtk = {
# enable = true;
#
# theme = {
# package = pkgs.flat-remix-gtk;
# name = "Flat-Remix-GTK-Grey-Darkest";
# };
#
# iconTheme = {
# package = pkgs.gnome.adwaita-icon-theme;
# name = "Adwaita";
# };
#
# font = {
# name = "Sans";
# size = 11;
# };
# };
};
}) cfg.users
);
};
};
};
};
}

View file

@ -1,87 +0,0 @@
{
inputs = {
};
outputs =
{
...
}:
{
nixosModules = {
default =
{
config,
pkgs,
lib,
...
}:
with lib;
{
options.mods.nebula = {
serviceEnabled = mkOption {
type = types.bool;
default = true;
description = "Whether the nebula service should run.";
};
};
config = {
environment.systemPackages = with pkgs; [
nebula
traceroute # for debugging
];
networking.firewall.allowedUDPPorts = [ 4242 ];
systemd.services."nebula" = mkIf config.mods.nebula.serviceEnabled {
description = "Nebula VPN service";
wants = [
"basic.target"
"network.target"
"network-online.target"
"nss-lookup.target"
];
after = [
"basic.target"
"network.target"
"network-online.target"
"nss-lookup.target"
];
before = [ "sshd.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "notify";
Restart = "always";
RestartSec = 1;
ExecStart = "${pkgs.nebula}/bin/nebula -config /etc/nebula/config.yml";
UMask = "0027";
CapabilityBoundingSet = "CAP_NET_ADMIN";
AmbientCapabilities = "CAP_NET_ADMIN";
LockPersonality = true;
NoNewPrivileges = true;
PrivateDevices = false; # needs access to /dev/net/tun (below)
DeviceAllow = "/dev/net/tun rw";
DevicePolicy = "closed";
PrivateTmp = true;
PrivateUsers = false; # CapabilityBoundingSet needs to apply to the host namespace
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
RestrictNamespaces = true;
RestrictSUIDSGID = true;
};
unitConfig = {
StartLimitIntervalSec = 5;
StartLimitBurst = 3;
};
};
};
};
};
};
}

Some files were not shown because too many files have changed in this diff Show more