diff --git a/flake.lock b/flake.lock index e83edc5..ff388c7 100644 --- a/flake.lock +++ b/flake.lock @@ -45,6 +45,22 @@ } }, "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" + } + }, + "flake-compat_2": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -58,7 +74,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_2": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -136,7 +152,7 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "gitignore": "gitignore", "nixpkgs": [ "nixvim", @@ -265,6 +281,28 @@ "type": "github" } }, + "nixos-cosmic": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1719885773, + "narHash": "sha256-dFuBTBoLUP/qfphSof3DNP9PKvAlU96lmqLMJggMyqA=", + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "rev": "6eae355a1071a94465502c11c5efb241caf1dc0e", + "type": "github" + }, + "original": { + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1716330097, @@ -281,6 +319,22 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1719838683, + "narHash": "sha256-Zw9rQjHz1ilNIimEXFeVa1ERNRBF8DoXDhLAZq5B4pE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d032c1a6dfad4eedec7e35e91986becc699d7d69", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1719690277, @@ -300,7 +354,7 @@ "nixvim": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_2", "git-hooks": "git-hooks", "home-manager": "home-manager_2", @@ -311,11 +365,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1719835160, - "narHash": "sha256-AyZJM2la6+CAdKKSC3y80sbneW8dH/2lb+OxKzi2cAw=", + "lastModified": 1719860300, + "narHash": "sha256-ZeF+zI+/53HeS567/mXS2Gw+w8k9FsjRC/TzoVQOpi4=", "owner": "nix-community", "repo": "nixvim", - "rev": "7cc1685eafdcf04cf1058949647ea2c7560f2d65", + "rev": "079c2c479b5707adf0b03f817be30945c92c15cf", "type": "github" }, "original": { @@ -326,11 +380,11 @@ }, "nur": { "locked": { - "lastModified": 1719837916, - "narHash": "sha256-dV1URYa5SezYyz/1IDb1BHmIZ4tM0WtpPfVkFGH8xfY=", + "lastModified": 1719908032, + "narHash": "sha256-veUPZ3anuH+PQn/CLcNlP0oiuHctzeIDa2w+DzVGE4E=", "owner": "nix-community", "repo": "NUR", - "rev": "0575d7fb334ea662a0a03620780c87df0612eb9a", + "rev": "6206fd683edcb79c4a0592cf25e610449ed0d82d", "type": "github" }, "original": { @@ -344,6 +398,7 @@ "anyrun": "anyrun", "home-manager": "home-manager", "matugen": "matugen", + "nixos-cosmic": "nixos-cosmic", "nixpkgs": "nixpkgs_2", "nixvim": "nixvim", "nur": "nur" diff --git a/flake.nix b/flake.nix index 7f68635..641e19c 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,10 @@ url = "github:Kirottu/anyrun"; inputs.nixpkgs.follows = "nixpkgs"; }; + nixos-cosmic = { + url = "github:lilyinstarlight/nixos-cosmic"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -25,6 +29,7 @@ nixvim, anyrun, matugen, + nixos-cosmic, ... }@inputs: let @@ -48,11 +53,6 @@ lpc21isp = prev.callPackage ./overlays/lpc21isp { }; rquickshare = prev.callPackage ./overlays/rquickshare { }; cura = prev.callPackage ./overlays/cura { }; - /* - kitty = prev.kitty.overrideAttrs (prev: { - patches = prev.patches ++ [ ./kitty.patch ]; - }); - */ }) ]; } @@ -70,6 +70,13 @@ ./modules/nixos ./hosts/${hostname} home-manager.nixosModules.home-manager + nixos-cosmic.nixosModules.default + { + nix.settings = { + substituters = [ "https://cosmic.cachix.org/" ]; + trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ]; + }; + } { _module.args = { inherit username; diff --git a/hosts/MONSTER/default.nix b/hosts/MONSTER/default.nix index 9c75946..3927d0b 100644 --- a/hosts/MONSTER/default.nix +++ b/hosts/MONSTER/default.nix @@ -48,12 +48,16 @@ waybar.enable = true; dunst.enable = true; }; + services.desktopManager.cosmic.enable = true; + services.displayManager.cosmic-greeter.enable = true; desktops = { hyprland.enable = true; # gamescope.enable = true; }; locale.preset.theaninova.enable = true; + services.xserver.xkb.variant = "altgr-intl"; + services.xserver.xkb.layout = "us"; hardware = { amdgpu.preset.default.enable = true; audio.preset.pipewire.enable = true; diff --git a/kitty.patch b/kitty.patch deleted file mode 100644 index d623654..0000000 --- a/kitty.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/kitty/cell_fragment.glsl b/kitty/cell_fragment.glsl -index ac310dd1f..dfab7e30a 100644 ---- a/kitty/cell_fragment.glsl -+++ b/kitty/cell_fragment.glsl -@@ -169,7 +169,7 @@ void main() { - vec4 text_fg_premul = calculate_premul_foreground_from_sprites(text_fg); - #ifdef TRANSPARENT - final_color = alpha_blend_premul(text_fg_premul, vec4_premul(background, bg_alpha)); -- final_color.a = adjust_alpha_for_incorrect_blending_by_compositor(text_fg_premul.a, final_color.a); -+ // final_color.a = adjust_alpha_for_incorrect_blending_by_compositor(text_fg_premul.a, final_color.a); - #else - final_color = alpha_blend_premul(text_fg_premul, background); - #endif -@@ -197,7 +197,7 @@ void main() { - vec4 text_fg_premul = calculate_premul_foreground_from_sprites(text_fg); - final_color = text_fg_premul; - #ifdef TRANSPARENT -- final_color.a = adjust_alpha_for_incorrect_blending_by_compositor(text_fg_premul.a, final_color.a); -+ // final_color.a = adjust_alpha_for_incorrect_blending_by_compositor(text_fg_premul.a, final_color.a); - #endif - #endif - -diff --git a/kitty/shaders.c b/kitty/shaders.c -index bcda16822..4f38c4388 100644 ---- a/kitty/shaders.c -+++ b/kitty/shaders.c -@@ -914,7 +914,7 @@ draw_cells_interleaved_premult(ssize_t vao_idx, Screen *screen, OSWindow *os_win - void - blank_canvas(float background_opacity, color_type color) { - // See https://github.com/glfw/glfw/issues/1538 for why we use pre-multiplied alpha --#define C(shift) srgb_color((color >> shift) & 0xFF) -+#define C(shift) srgb_color((color >> shift) & 0xFF) * background_opacity - glClearColor(C(16), C(8), C(0), background_opacity); - #undef C - glClear(GL_COLOR_BUFFER_BIT); diff --git a/modules/home-manager/desktops/hyprland/default.nix b/modules/home-manager/desktops/hyprland/default.nix index 1ef72d3..7323524 100644 --- a/modules/home-manager/desktops/hyprland/default.nix +++ b/modules/home-manager/desktops/hyprland/default.nix @@ -26,7 +26,8 @@ ]; input = { accel_profile = "flat"; - kb_layout = "cc1-thea"; + kb_layout = osConfig.services.xserver.xkb.layout; + kb_variant = osConfig.services.xserver.xkb.variant; }; bind = import ./keybinds.nix; bindm = import ./mousebinds.nix; diff --git a/modules/home-manager/programs/nixvim/presets/base/completion.nix b/modules/home-manager/programs/nixvim/presets/base/completion.nix index 919f739..ff0d370 100644 --- a/modules/home-manager/programs/nixvim/presets/base/completion.nix +++ b/modules/home-manager/programs/nixvim/presets/base/completion.nix @@ -22,7 +22,7 @@ in "cmp.mapping.select_next_item({behavior = cmp.SelectBehavior.Select})"; "" = # lua "cmp.mapping.select_prev_item({behavior = cmp.SelectBehavior.Select})"; - "" = # lua + "" = # lua "cmp.mapping.confirm({select = true})"; "" = # lua "cmp.mapping.complete()"; diff --git a/modules/home-manager/theme/hyprland.conf b/modules/home-manager/theme/hyprland.conf index 0c69722..293ded5 100644 --- a/modules/home-manager/theme/hyprland.conf +++ b/modules/home-manager/theme/hyprland.conf @@ -1,7 +1,7 @@ general { col.inactive_border = rgba({{colors.surface.default.hex_stripped}}{{custom.transparency_hex | to_lower}}) col.active_border = rgb({{colors.primary.default.hex_stripped}}) - border_size = 1 + border_size = 4 extend_border_grab_area = 4 gaps_in = {{custom.padding}} gaps_out = {{custom.double_padding}} diff --git a/modules/nixos/desktops/hyprland.nix b/modules/nixos/desktops/hyprland.nix index d462df5..39570b8 100644 --- a/modules/nixos/desktops/hyprland.nix +++ b/modules/nixos/desktops/hyprland.nix @@ -35,19 +35,21 @@ in }; services = { - greetd = { - enable = true; - settings = { - initial_session = { - command = "${pkgs.hyprland}/bin/Hyprland &> /dev/null"; - user = username; - }; - default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --asterisks"; - user = username; + /* + greetd = { + enable = true; + settings = { + initial_session = { + command = "${pkgs.hyprland}/bin/Hyprland &> /dev/null"; + user = username; + }; + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --asterisks"; + user = username; + }; }; }; - }; + */ dbus.enable = true; diff --git a/modules/nixos/hardware/cc1.nix b/modules/nixos/hardware/cc1.nix index 8bbdade..4f66d53 100644 --- a/modules/nixos/hardware/cc1.nix +++ b/modules/nixos/hardware/cc1.nix @@ -23,7 +23,7 @@ in # TODO: per-device layout? console.useXkbConfig = true; services.xserver.xkb = { - layout = cfg.layout; + layout = lib.mkDefault cfg.layout; extraLayouts.cc1-thea = { description = "A CC1 optimized layout"; languages = [ diff --git a/modules/nixos/hardware/fv43u.nix b/modules/nixos/hardware/fv43u.nix index ee4e071..1cdee89 100644 --- a/modules/nixos/hardware/fv43u.nix +++ b/modules/nixos/hardware/fv43u.nix @@ -23,7 +23,6 @@ in general.layout = "master"; master = { orientation = "center"; - new_is_master = true; always_center_master = true; mfact = 0.4; }; diff --git a/modules/nixos/hardware/q3279vwf.nix b/modules/nixos/hardware/q3279vwf.nix index 2723ed2..2e835e7 100644 --- a/modules/nixos/hardware/q3279vwf.nix +++ b/modules/nixos/hardware/q3279vwf.nix @@ -22,7 +22,6 @@ in general.layout = "master"; master = { orientation = "center"; - new_is_master = true; always_center_master = true; mfact = 0.4; };