todo items

This commit is contained in:
RingOfStorms (Joshua Bell) 2025-03-18 14:17:11 -05:00
parent af501177fd
commit d23c2f0762
96 changed files with 2398 additions and 0 deletions

View file

@ -0,0 +1,9 @@
(
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

@ -0,0 +1,9 @@
(
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

@ -0,0 +1 @@
true

View file

@ -0,0 +1 @@
false

View file

@ -0,0 +1 @@
PerWorkspace

View file

@ -0,0 +1 @@
true

View file

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

View file

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

View file

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

View file

@ -0,0 +1 @@
None

View file

@ -0,0 +1 @@
None

View file

@ -0,0 +1 @@
Bottom

View file

@ -0,0 +1 @@
false

View file

@ -0,0 +1 @@
None

View file

@ -0,0 +1 @@
ThemeDefault

View file

@ -0,0 +1 @@
Top

View file

@ -0,0 +1 @@
0

View file

@ -0,0 +1 @@
"Dock"

View file

@ -0,0 +1 @@
1.0

View file

@ -0,0 +1 @@
All

View file

@ -0,0 +1 @@
0

View file

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

View file

@ -0,0 +1 @@
L

View file

@ -0,0 +1 @@
None

View file

@ -0,0 +1 @@
None

View file

@ -0,0 +1 @@
4

View file

@ -0,0 +1 @@
Bottom

View file

@ -0,0 +1 @@
false

View file

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

View file

@ -0,0 +1 @@
ThemeDefault

View file

@ -0,0 +1 @@
Top

View file

@ -0,0 +1 @@
0

View file

@ -0,0 +1 @@
"Panel"

View file

@ -0,0 +1 @@
1.0

View file

@ -0,0 +1 @@
All

View file

@ -0,0 +1 @@
0

View file

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

View file

@ -0,0 +1,11 @@
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

@ -0,0 +1 @@
XS

View file

@ -0,0 +1 @@
None

View file

@ -0,0 +1 @@
None

View file

@ -0,0 +1 @@
2

View file

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

View file

@ -0,0 +1,71 @@
// 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

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

View file

@ -0,0 +1,8 @@
(
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

@ -0,0 +1 @@
(0, 4)

View file

@ -0,0 +1,12 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,100 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,8 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1 @@
(0, 4)

View file

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,100 @@
(
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

@ -0,0 +1,100 @@
(
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

@ -0,0 +1,12 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,74 @@
(
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

@ -0,0 +1,8 @@
(
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

@ -0,0 +1 @@
(0, 4)

View file

@ -0,0 +1,12 @@
(
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

@ -0,0 +1,8 @@
(
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

@ -0,0 +1 @@
(0, 4)

View file

@ -0,0 +1,12 @@
(
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

@ -0,0 +1 @@
Compact

View file

@ -0,0 +1 @@
Compact

79
todo/de_cosmic/flake.lock generated Normal file
View file

@ -0,0 +1,79 @@
{
"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
}

88
todo/de_cosmic/flake.nix Normal file
View file

@ -0,0 +1,88 @@
{
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
);
};
};
};
};
}

397
todo/de_hyprland/flake.lock generated Normal file
View file

@ -0,0 +1,397 @@
{
"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
}

225
todo/de_hyprland/flake.nix Normal file
View file

@ -0,0 +1,225 @@
{
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
);
};
};
};
};
}

87
todo/nebula/flake.nix Normal file
View file

@ -0,0 +1,87 @@
{
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;
};
};
};
};
};
};
}

83
todo/stormd/flake.lock generated Normal file
View file

@ -0,0 +1,83 @@
{
"nodes": {
"nix-filter": {
"locked": {
"lastModified": 1710156097,
"narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "3342559a24e85fc164b295c3444e8a139924675b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1728888510,
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"ringofstorms-stormd": {
"inputs": {
"nix-filter": "nix-filter",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1735420577,
"narHash": "sha256-2HWEALz0PVJCiP/2iZuDMj4qyukXR5IxNKFxT1NAMlQ=",
"ref": "refs/heads/master",
"rev": "7edf6888a460708889fabea2c762d4dfed4fa64f",
"revCount": 51,
"type": "git",
"url": "ssh://git.joshuabell.xyz:3032/stormd"
},
"original": {
"type": "git",
"url": "ssh://git.joshuabell.xyz:3032/stormd"
}
},
"root": {
"inputs": {
"ringofstorms-stormd": "ringofstorms-stormd"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"ringofstorms-stormd",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729218602,
"narHash": "sha256-KDmYxpkFWa0Go0WnOpkgQOypVaQxbwgpEutET5ey1VQ=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "9051466c82b9b3a6ba9e06be99621ad25423ec94",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

42
todo/stormd/flake.nix Normal file
View file

@ -0,0 +1,42 @@
{
inputs = {
ringofstorms-stormd.url = "git+ssh://git.joshuabell.xyz:3032/stormd";
# Local path usage for testing changes locally
# ringofstorms-nvim.url = "path:/home/josh/projects/stormd";
};
outputs =
{
ringofstorms-stormd,
...
}:
{
nixosModules = {
default =
{
config,
pkgs,
lib,
...
}:
with lib;
{
options.mods.ros-stormd = {
debug = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "Whether to enable debug logging for stormd daemon.";
};
};
imports = [ ringofstorms-stormd.nixosModules.default ];
config = {
services.stormd = {
enable = true;
nebulaPackage = pkgs.nebula;
extraOptions = mkIf config.mods.ros-stormd.debug [ "-v" ];
};
};
};
};
};
}