Compare commits

..

2 Commits

12 changed files with 409 additions and 286 deletions

1
.prettierrc.toml Normal file
View File

@ -0,0 +1 @@
trailingComma = "none"

6
fmt
View File

@ -1,5 +1,5 @@
#!/usr/bin/env sh #!/usr/bin/env sh
# Format all .nix files using the new default nix formatter # Format all files matched by treefmt.toml
# TODO doesn't work when run using ./fmt
nix fmt ./**.nix treefmt --on-unmatched info

View File

@ -22,7 +22,9 @@ slider {
} }
.floating-notifications.background .notification-row .notification-background { .floating-notifications.background .notification-row .notification-background {
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #313244; box-shadow:
0 0 8px 0 rgba(0, 0, 0, 0.8),
inset 0 0 0 1px #313244;
border-radius: 12.6px; border-radius: 12.6px;
margin: 18px; margin: 18px;
background-color: #1e1e2e; background-color: #1e1e2e;
@ -30,36 +32,72 @@ slider {
padding: 0; padding: 0;
} }
.floating-notifications.background .notification-row .notification-background .notification { .floating-notifications.background
.notification-row
.notification-background
.notification {
padding: 7px; padding: 7px;
border-radius: 12.6px; border-radius: 12.6px;
} }
.floating-notifications.background .notification-row .notification-background .notification.critical { .floating-notifications.background
.notification-row
.notification-background
.notification.critical {
box-shadow: inset 0 0 7px 0 #f38ba8; box-shadow: inset 0 0 7px 0 #f38ba8;
} }
.floating-notifications.background .notification-row .notification-background .notification .notification-content { .floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content {
margin: 7px; margin: 7px;
} }
.floating-notifications.background .notification-row .notification-background .notification .notification-content .summary { .floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content
.summary {
color: #cdd6f4; color: #cdd6f4;
} }
.floating-notifications.background .notification-row .notification-background .notification .notification-content .time { .floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content
.time {
color: #a6adc8; color: #a6adc8;
} }
.floating-notifications.background .notification-row .notification-background .notification .notification-content .body { .floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content
.body {
color: #cdd6f4; color: #cdd6f4;
} }
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * { .floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> * {
min-height: 3.4em; min-height: 3.4em;
} }
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action { .floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action {
border-radius: 7px; border-radius: 7px;
color: #cdd6f4; color: #cdd6f4;
background-color: #313244; background-color: #313244;
@ -67,20 +105,35 @@ slider {
margin: 7px; margin: 7px;
} }
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:hover { .floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:hover {
box-shadow: inset 0 0 0 1px #45475a; box-shadow: inset 0 0 0 1px #45475a;
background-color: #313244; background-color: #313244;
color: #cdd6f4; color: #cdd6f4;
} }
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:active { .floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:active {
box-shadow: inset 0 0 0 1px #45475a; box-shadow: inset 0 0 0 1px #45475a;
background-color: #74c7ec; background-color: #74c7ec;
color: #cdd6f4; color: #cdd6f4;
} }
/* Close Button */ /* Close Button */
.floating-notifications.background .notification-row .notification-background .close-button { .floating-notifications.background
.notification-row
.notification-background
.close-button {
margin: 7px; margin: 7px;
padding: 2px; padding: 2px;
border-radius: 6.3px; border-radius: 6.3px;
@ -88,18 +141,26 @@ slider {
background-color: #f38ba8; background-color: #f38ba8;
} }
.floating-notifications.background .notification-row .notification-background .close-button:hover { .floating-notifications.background
.notification-row
.notification-background
.close-button:hover {
background-color: #eba0ac; background-color: #eba0ac;
color: #1e1e2e; color: #1e1e2e;
} }
.floating-notifications.background .notification-row .notification-background .close-button:active { .floating-notifications.background
.notification-row
.notification-background
.close-button:active {
background-color: #f38ba8; background-color: #f38ba8;
color: #1e1e2e; color: #1e1e2e;
} }
.control-center { .control-center {
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #313244; box-shadow:
0 0 8px 0 rgba(0, 0, 0, 0.8),
inset 0 0 0 1px #313244;
border-radius: 12.6px; border-radius: 12.6px;
margin: 18px; margin: 18px;
background-color: #1e1e2e; background-color: #1e1e2e;
@ -145,31 +206,64 @@ slider {
border-radius: 7px; border-radius: 7px;
} }
.control-center .notification-row .notification-background .notification.critical { .control-center
.notification-row
.notification-background
.notification.critical {
box-shadow: inset 0 0 7px 0 #f38ba8; box-shadow: inset 0 0 7px 0 #f38ba8;
} }
.control-center .notification-row .notification-background .notification .notification-content { .control-center
.notification-row
.notification-background
.notification
.notification-content {
margin: 7px; margin: 7px;
} }
.control-center .notification-row .notification-background .notification .notification-content .summary { .control-center
.notification-row
.notification-background
.notification
.notification-content
.summary {
color: #cdd6f4; color: #cdd6f4;
} }
.control-center .notification-row .notification-background .notification .notification-content .time { .control-center
.notification-row
.notification-background
.notification
.notification-content
.time {
color: #a6adc8; color: #a6adc8;
} }
.control-center .notification-row .notification-background .notification .notification-content .body { .control-center
.notification-row
.notification-background
.notification
.notification-content
.body {
color: #cdd6f4; color: #cdd6f4;
} }
.control-center .notification-row .notification-background .notification > *:last-child > * { .control-center
.notification-row
.notification-background
.notification
> *:last-child
> * {
min-height: 3.4em; min-height: 3.4em;
} }
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action { .control-center
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action {
border-radius: 7px; border-radius: 7px;
color: #cdd6f4; color: #cdd6f4;
background-color: #11111b; background-color: #11111b;
@ -177,13 +271,25 @@ slider {
margin: 7px; margin: 7px;
} }
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:hover { .control-center
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:hover {
box-shadow: inset 0 0 0 1px #45475a; box-shadow: inset 0 0 0 1px #45475a;
background-color: #313244; background-color: #313244;
color: #cdd6f4; color: #cdd6f4;
} }
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:active { .control-center
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:active {
box-shadow: inset 0 0 0 1px #45475a; box-shadow: inset 0 0 0 1px #45475a;
background-color: #74c7ec; background-color: #74c7ec;
color: #cdd6f4; color: #cdd6f4;
@ -206,7 +312,10 @@ slider {
color: #1e1e2e; color: #1e1e2e;
} }
.control-center .notification-row .notification-background .close-button:active { .control-center
.notification-row
.notification-background
.close-button:active {
background-color: #f38ba8; background-color: #f38ba8;
color: #1e1e2e; color: #1e1e2e;
} }

View File

@ -5,13 +5,8 @@
// Waybar position (top|bottom|left|right) // Waybar position (top|bottom|left|right)
// "width": 1280, // Waybar width // "width": 1280, // Waybar width
// Choose the order of the modules // Choose the order of the modules
"modules-left": [ "modules-left": ["hyprland/workspaces", "custom/music"],
"hyprland/workspaces", "modules-center": ["hyprland/window"],
"custom/music"
],
"modules-center": [
"hyprland/window"
],
"modules-right": [ "modules-right": [
"hyprland/language", "hyprland/language",
"wireplumber", "wireplumber",
@ -60,28 +55,14 @@
"backlight": { "backlight": {
"device": "intel_backlight", "device": "intel_backlight",
"format": "{icon}", "format": "{icon}",
"format-icons": [ "format-icons": ["", "", "", "", "", "", "", "", ""]
"",
"",
"",
"",
"",
"",
"",
"",
""
]
}, },
"wireplumber": { "wireplumber": {
// "scroll-step": 1, // %, can be a float // "scroll-step": 1, // %, can be a float
"format": "{icon} {volume}%", "format": "{icon} {volume}%",
"format-muted": " ", "format-muted": " ",
"format-icons": { "format-icons": {
"default": [ "default": ["", " ", " "]
"",
" ",
" "
]
}, },
"on-click": "pavucontrol" "on-click": "pavucontrol"
}, },

View File

@ -4,7 +4,7 @@
} }
window { window {
background-color: rgba(30, 30, 46, 0.90); background-color: rgba(30, 30, 46, 0.9);
} }
button { button {
@ -20,7 +20,9 @@ button {
background-size: 25%; background-size: 25%;
} }
button:focus, button:active, button:hover { button:focus,
button:active,
button:hover {
/* 20% Overlay 2, 80% mantle */ /* 20% Overlay 2, 80% mantle */
background-color: rgb(48, 50, 66); background-color: rgb(48, 50, 66);
outline-style: none; outline-style: none;

View File

@ -6,14 +6,21 @@
jetbrains.rust-rover jetbrains.rust-rover
jetbrains.webstorm jetbrains.webstorm
vscodium # TODO set up extensions vscodium # TODO set up extensions
zed-editor
# Tools # Tools
git git
rustup rustup
nodejs nodejs
pnpm pnpm
gcc # Required for C, Rust and others gcc # Required for C, Rust and others
# Formatters # Language servers
nixd nixd
nil
# Formatters
nixfmt-rfc-style
treefmt
nodePackages.prettier
shfmt
]; ];
virtualisation.docker = { virtualisation.docker = {

View File

@ -1,27 +1,32 @@
{ ... }: { ... }:
# TODO move locale config for hyprland here # TODO move locale config for hyprland here
let
utf-8 = "UTF-8";
en = "en_GB.${utf-8}";
nb = "nb_NO.${utf-8}";
in
{ {
# Configure console keymap # Configure console keymap
console.keyMap = "uk"; console.keyMap = "uk";
# Select internationalisation properties. # Select internationalisation properties.
i18n = { i18n = {
defaultLocale = "en_GB.UTF-8"; defaultLocale = en;
supportedLocales = [ supportedLocales = [
"en_GB.UTF-8/UTF-8" "${en}/${utf-8}"
"nb_NO.UTF-8/UTF-8" "${nb}/${utf-8}"
]; ];
extraLocaleSettings = { extraLocaleSettings = {
LC_ADDRESS = "nb_NO.UTF-8"; LC_ADDRESS = nb;
LC_IDENTIFICATION = "nb_NO.UTF-8"; LC_IDENTIFICATION = nb;
LC_MEASUREMENT = "nb_NO.UTF-8"; LC_MEASUREMENT = nb;
LC_MONETARY = "nb_NO.UTF-8"; LC_MONETARY = nb;
LC_NAME = "nb_NO.UTF-8"; LC_NAME = nb;
LC_NUMERIC = "nb_NO.UTF-8"; LC_NUMERIC = nb;
LC_PAPER = "nb_NO.UTF-8"; LC_PAPER = nb;
LC_TELEPHONE = "nb_NO.UTF-8"; LC_TELEPHONE = nb;
LC_TIME = "nb_NO.UTF-8"; LC_TIME = nb;
}; };
}; };

2
test
View File

@ -3,4 +3,4 @@
# Rebuild and switch the environment if successful # Rebuild and switch the environment if successful
git add . git add .
./fmt ./fmt
nh os test . nh os test . "$@"

18
treefmt.toml Normal file
View File

@ -0,0 +1,18 @@
[formatter.nixfmt-rfc-style]
command = "nixfmt"
includes = ["*.nix"]
[formatter.prettier]
command = "prettier"
includes = ["*.css", "*.json", "*.jsonc", "*.yaml"]
options = ["--write"]
[formatter.shell]
command = "shfmt"
includes = ["fmt", "test", "switch"]
excludes = []
options = [
"--indent", "2",
"--simplify",
"--write",
]