diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03e23b1..0b7cfd0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,9 +3,6 @@ on: workflow_dispatch: push: branches: [main] -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true jobs: parse-flake: runs-on: ubuntu-latest @@ -99,7 +96,7 @@ jobs: -d "Commit \`${GITHUB_SHA::7}\` deployed successfully." \ https://ntfy.sh/splitleaf - name: Notify failure - if: needs.deploy.result == 'failure' + if: needs.deploy.result != 'success' run: | curl -s \ -H "Title: CI: Deploy failed" \ diff --git a/flake.lock b/flake.lock index 83139e9..6b29af2 100644 --- a/flake.lock +++ b/flake.lock @@ -290,48 +290,6 @@ "type": "github" } }, - "noctalia": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "noctalia-qs": "noctalia-qs" - }, - "locked": { - "lastModified": 1772659442, - "narHash": "sha256-F1oSoSwGvBiqtSfGU9YzsjL9sP6IQDYQeUIQbXma70U=", - "owner": "noctalia-dev", - "repo": "noctalia-shell", - "rev": "c56fa106b7d8c6ae3034ce6d706bc35432ac9ea6", - "type": "github" - }, - "original": { - "owner": "noctalia-dev", - "repo": "noctalia-shell", - "type": "github" - } - }, - "noctalia-qs": { - "inputs": { - "nixpkgs": [ - "noctalia", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1772227064, - "narHash": "sha256-f821ZSoGpa/aXrWq0gPpea9qBnX8KDyavGKkptz2Mog=", - "owner": "noctalia-dev", - "repo": "noctalia-qs", - "rev": "0741d27d2f7db567270f139c5d1684614ecf9863", - "type": "github" - }, - "original": { - "owner": "noctalia-dev", - "repo": "noctalia-qs", - "type": "github" - } - }, "radicale-birthday-calendar": { "flake": false, "locked": { @@ -362,7 +320,6 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", - "noctalia": "noctalia", "radicale-birthday-calendar": "radicale-birthday-calendar", "sops": "sops", "statix": "statix", diff --git a/flake.nix b/flake.nix index c7a0fd7..f251142 100644 --- a/flake.nix +++ b/flake.nix @@ -37,11 +37,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - noctalia = { - url = "github:noctalia-dev/noctalia-shell"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - vscode-extensions = { url = "github:nix-community/nix-vscode-extensions"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/home/de/hyprland/classic.nix b/modules/home/de/hyprland/classic.nix deleted file mode 100644 index 43d1c62..0000000 --- a/modules/home/de/hyprland/classic.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: -{ - options.custom.de.hyprland.classic.enable = lib.mkEnableOption ""; - - config = lib.mkIf config.custom.de.hyprland.classic.enable { - custom = { - programs = { - hyprland.enable = true; - rofi.enable = true; - hyprlock.enable = true; - }; - - services = { - wpaperd.enable = true; - hypridle.enable = true; - waybar.enable = true; - cliphist.enable = true; - }; - }; - - services.dunst.enable = true; - - home.packages = [ - pkgs.playerctl - pkgs.grimblast - ]; - - wayland.windowManager.hyprland.extraConfig = lib.mkBefore '' - # Variables - $play-pause = playerctl --ignore-player=firefox play-pause - $play-next = playerctl --ignore-player=firefox next - $play-previous = playerctl --ignore-player=firefox previous - $mute = wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle - $volume-up = wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ - $volume-down = wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- - $mute-mic = wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle - - # Launch programs - bind = SUPER, R, exec, rofi -show drun - bind = SUPER, V, exec, rofi-clipboard - - # Manage session - bindrl = SUPER CONTROL, L, exec, loginctl lock-session - ''; - }; -} diff --git a/modules/home/de/hyprland/default.nix b/modules/home/de/hyprland/default.nix new file mode 100644 index 0000000..972ac3f --- /dev/null +++ b/modules/home/de/hyprland/default.nix @@ -0,0 +1,42 @@ +{ + config, + osConfig, + pkgs, + lib, + ... +}: +{ + options.custom.de.hyprland.enable = lib.mkEnableOption "" // { + default = osConfig.custom.de.hyprland.enable; + }; + + config = lib.mkIf config.custom.de.hyprland.enable { + wayland.windowManager.hyprland = { + enable = true; + package = null; + portalPackage = null; + }; + + home.packages = [ + pkgs.playerctl + pkgs.grimblast + ]; + + custom = { + services = { + wpaperd.enable = true; + hypridle.enable = true; + waybar.enable = true; + cliphist.enable = true; + }; + + programs = { + rofi.enable = true; + hyprlock.enable = true; + btop.enable = true; + }; + }; + + services.dunst.enable = true; + }; +} diff --git a/modules/home/programs/hyprland/keybinds.nix b/modules/home/de/hyprland/keybinds.nix similarity index 83% rename from modules/home/programs/hyprland/keybinds.nix rename to modules/home/de/hyprland/keybinds.nix index 26c5ba8..e6bf1eb 100644 --- a/modules/home/programs/hyprland/keybinds.nix +++ b/modules/home/de/hyprland/keybinds.nix @@ -1,19 +1,30 @@ { config, lib, ... }: { - config = lib.mkIf config.custom.programs.hyprland.enable { + config = lib.mkIf config.custom.de.hyprland.enable { wayland.windowManager.hyprland.extraConfig = '' # Bindflags: # r = release # e = repeat # l = locked + # Variables + $play-pause = playerctl --ignore-player=firefox play-pause + $play-next = playerctl --ignore-player=firefox next + $play-previous = playerctl --ignore-player=firefox previous + $mute = wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle + $volume-up = wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ + $volume-down = wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- + $mute-mic = wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle + # Essentials bind = SUPER SHIFT, C, killactive, bind = SUPER SHIFT, V, togglefloating, bind = SUPER SHIFT, F, fullscreen, 0 # Launch programs + bind = SUPER, R, exec, rofi -show drun bind = SUPER, RETURN, exec, kitty + bind = SUPER, V, exec, rofi-clipboard bind = SUPER, B, exec, firefox bind = SUPER, C, exec, code @@ -50,6 +61,7 @@ bindrl = SUPER CONTROL, R, exec, reboot bindrl = SUPER CONTROL, H, exec, systemctl hibernate bindrl = SUPER CONTROL, S, exec, systemctl sleep + bindrl = SUPER CONTROL, L, exec, loginctl lock-session bindrl = SUPER CONTROL, B, exec, sleep 1 && hyprctl dispatch dpms off # Control media diff --git a/modules/home/de/hyprland/noctalia.nix b/modules/home/de/hyprland/noctalia.nix deleted file mode 100644 index 8614bcf..0000000 --- a/modules/home/de/hyprland/noctalia.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: -{ - options.custom.de.hyprland.noctalia.enable = lib.mkEnableOption ""; - - config = lib.mkIf config.custom.de.hyprland.noctalia.enable { - custom = { - programs = { - hyprland.enable = true; - noctalia-shell.enable = true; - }; - - services.cliphist.enable = true; - }; - - home.packages = [ pkgs.grimblast ]; - - wayland.windowManager.hyprland.extraConfig = lib.mkBefore '' - # Variables - $ipc = noctalia-shell ipc call - $play-pause = $ipc media playPause - $play-next = $ipc media next - $play-previous = $ipc media previous - $mute = $ipc volume muteOutput - $volume-up = $ipc volume increase - $volume-down = $ipc volume decrease - $mute-mic = $ipc volume muteInput - - # Launch programs - bind = SUPER, R, exec, $ipc launcher toggle - bind = SUPER, V, exec, $ipc launcher clipboard - - # Manage session - bindrl = SUPER CONTROL, L, exec, $ipc lockScreen lock - ''; - }; -} diff --git a/modules/home/programs/hyprland/settings.nix b/modules/home/de/hyprland/settings.nix similarity index 97% rename from modules/home/programs/hyprland/settings.nix rename to modules/home/de/hyprland/settings.nix index 04fe2a7..cd2aca7 100644 --- a/modules/home/programs/hyprland/settings.nix +++ b/modules/home/de/hyprland/settings.nix @@ -1,6 +1,6 @@ { config, lib, ... }: { - config = lib.mkIf config.custom.programs.hyprland.enable { + config = lib.mkIf config.custom.de.hyprland.enable { wayland.windowManager.hyprland.settings = { input = { kb_layout = "de"; diff --git a/modules/home/programs/hyprland/default.nix b/modules/home/programs/hyprland/default.nix deleted file mode 100644 index f0ad28a..0000000 --- a/modules/home/programs/hyprland/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, lib, ... }: -{ - options.custom.programs.hyprland.enable = lib.mkEnableOption ""; - - config = lib.mkIf config.custom.programs.hyprland.enable { - wayland.windowManager.hyprland = { - enable = true; - package = null; - portalPackage = null; - }; - }; -} diff --git a/modules/home/programs/noctalia-shell.nix b/modules/home/programs/noctalia-shell.nix deleted file mode 100644 index 345c50c..0000000 --- a/modules/home/programs/noctalia-shell.nix +++ /dev/null @@ -1,106 +0,0 @@ -{ - config, - osConfig, - inputs, - lib, - ... -}: -{ - imports = [ inputs.noctalia.homeModules.default ]; - - options.custom.programs.noctalia-shell.enable = lib.mkEnableOption ""; - - config = lib.mkIf config.custom.programs.noctalia-shell.enable { - programs.noctalia-shell = { - enable = true; - systemd.enable = true; - settings = { - general = { - animationSpeed = 1.8; - enableShadows = false; - compactLockScreen = true; - autoStartAuth = true; - allowPasswordWithFprintd = true; - showSessionButtonsOnLockScreen = false; - avatarImage = "/home/seb/Pictures/face"; - telemetryEnabled = false; - }; - ui.boxBorderEnabled = true; - colorSchemes = { - darkMode = - { - dark = true; - light = false; - } - .${config.custom.theme}; - predefinedScheme = "GitHub Dark"; - }; - wallpaper = { - enabled = true; - directory = "/home/seb/Pictures/Wallpapers"; - transitionType = "fade"; - transitionDuration = 1000; - automationEnabled = true; - randomIntervalSec = 1800; - }; - bar = { - barType = "simple"; - position = "bottom"; - density = "default"; - fontScale = 1.2; - widgetSpacing = 10; - widgets = { - left = lib.singleton { - id = "Clock"; - formatHorizontal = "HH:mm ddd, d MMM"; - tooltipFormat = "yyyy-MM-dd HH:mm"; - }; - center = lib.singleton { - id = "Workspace"; - }; - right = [ - { id = "Tray"; } - { - id = "NotificationHistory"; - hideWhenZeroUnread = true; - } - { id = "Volume"; } - (lib.optionalAttrs osConfig.custom.networking.underlay.wireless.enable { id = "Network"; }) - (lib.optionalAttrs osConfig.custom.services.bluetooth.enable { id = "Bluetooth"; }) - (lib.optionalAttrs config.custom.programs.brightnessctl.enable { id = "Brightness"; }) - { - id = "Battery"; - displayMode = "icon-hover"; - } - ]; - }; - }; - dock.enabled = false; - appLauncher = { - overviewLayer = true; - showCategories = false; - enableSessionSearch = false; - enableSettingsSearch = false; - enableWindowsSearch = false; - enableClipboardHistory = true; - }; - osd.enabledTypes = [ - 0 - 1 - 2 - 3 - ]; - location.name = "Darmstadt"; - sessionMenu = { - largeButtonsStyle = false; - countdownDuration = 3000; - }; - audio.mprisBlacklist = "firefox"; - location = { - firstDayOfWeek = 1; - showWeekNumberInCalendar = true; - }; - }; - }; - }; -} diff --git a/modules/home/programs/vscode.nix b/modules/home/programs/vscode.nix index c54dddc..50c8231 100644 --- a/modules/home/programs/vscode.nix +++ b/modules/home/programs/vscode.nix @@ -42,6 +42,12 @@ "extensions.autoCheckUpdates" = false; "editor.fontFamily" = "JetBrainsMono Nerd Font"; "workbench.iconTheme" = "material-icon-theme"; + "workbench.colorTheme" = + { + dark = "GitHub Dark"; + light = "GitHub Light"; + } + .${config.custom.theme}; "workbench.sideBar.location" = "right"; "workbench.editor.decorations.colors" = false; "editor.renderWhitespace" = "none"; @@ -62,12 +68,6 @@ "github.copilot.enable"."*" = false; "chat.fontSize" = 15; "chat.editor.fontSize" = 15; - "workbench.colorTheme" = - { - dark = "GitHub Dark"; - light = "GitHub Light"; - } - .${config.custom.theme}; } ); in diff --git a/modules/home/services/cliphist.nix b/modules/home/services/cliphist.nix index 9fc643a..f12b310 100644 --- a/modules/home/services/cliphist.nix +++ b/modules/home/services/cliphist.nix @@ -8,6 +8,11 @@ options.custom.services.cliphist.enable = lib.mkEnableOption ""; config = lib.mkIf config.custom.services.cliphist.enable { + assertions = lib.singleton { + assertion = config.custom.programs.rofi.enable; + message = "Cliphist requires Rofi"; + }; + services.cliphist = { enable = true; extraOptions = [ ]; @@ -18,9 +23,7 @@ home.packages = [ pkgs.wl-clipboard - ] - ++ lib.optional config.custom.programs.rofi.enable ( - pkgs.writeScriptBin "rofi-clipboard" "cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy" - ); + (pkgs.writeScriptBin "rofi-clipboard" "cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy") + ]; }; } diff --git a/users/seb/home.nix b/users/seb/home.nix index dbfb930..92a3b33 100644 --- a/users/seb/home.nix +++ b/users/seb/home.nix @@ -19,8 +19,6 @@ custom = { sops.enable = true; - de.hyprland.noctalia.enable = true; - programs = { shell = { zsh.enable = true; @@ -34,7 +32,6 @@ vscode.enable = true; firefox.enable = true; libreoffice.enable = true; - btop.enable = true; }; };