feat: swayfx flake -> nixpkgs, add cosmic flake

inputs: remove swayfx
overlays: get rid of most of my NUR overrides
swayfx: flake -> nixpkgs cache
cosmic: init
options: simplify mkIf guard for config.dotfiles.desktop
This commit is contained in:
winston 2024-08-11 18:08:20 +02:00
parent 011ca118cc
commit b4cfeb3ebb
Signed by: winston
GPG key ID: 3786770EDBC2B481
12 changed files with 645 additions and 611 deletions

View file

@ -74,6 +74,22 @@
"type": "github" "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"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
@ -216,6 +232,29 @@
"type": "github" "type": "github"
} }
}, },
"nixos-cosmic": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1723340593,
"narHash": "sha256-SYrNboypGpiFlE6g3UWdfqJeMihR0dBJPAwTwO6T64A=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "94a1e5a4888ab0cb5ad0fe602d03d867a320348b",
"type": "github"
},
"original": {
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1722421184, "lastModified": 1722421184,
@ -232,6 +271,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": {
"locked": {
"lastModified": 1722987190,
"narHash": "sha256-68hmex5efCiM2aZlAAEcQgmFI4ZwWt8a80vOeB/5w3A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "21cc704b5e918c5fbf4f9fff22b4ac2681706d90",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1722813957, "lastModified": 1722813957,
@ -248,22 +303,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": {
"locked": {
"lastModified": 1713128889,
"narHash": "sha256-aB90ZqzosyRDpBh+rILIcyP5lao8SKz8Sr2PSWvZrzk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2748d22b45a99fb2deafa5f11c7531c212b2cefa",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1722934043, "lastModified": 1722934043,
@ -314,50 +353,32 @@
"nekowinston-nur": "nekowinston-nur", "nekowinston-nur": "nekowinston-nur",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nix-vscode-extensions": "nix-vscode-extensions", "nix-vscode-extensions": "nix-vscode-extensions",
"nixos-cosmic": "nixos-cosmic",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nur": "nur", "nur": "nur",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"swayfx": "swayfx",
"vscode-server": "vscode-server", "vscode-server": "vscode-server",
"wsl": "wsl" "wsl": "wsl"
} }
}, },
"scenefx": { "rust-overlay": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1715160751,
"narHash": "sha256-S8m7phTU7QYgAq4B0hjH5WdtTjHDcNVhYfPFdhbty+A=",
"owner": "wlrfx",
"repo": "scenefx",
"rev": "2ec3505248e819191c37cb831197629f373326fb",
"type": "github"
},
"original": {
"owner": "wlrfx",
"repo": "scenefx",
"type": "github"
}
},
"swayfx": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixos-cosmic",
"nixpkgs" "nixpkgs"
], ]
"scenefx": "scenefx"
}, },
"locked": { "locked": {
"lastModified": 1722269591, "lastModified": 1723256423,
"narHash": "sha256-uqRVQmhtswgbM9bp4bIkQhS1J2fYqOuLo/Rt9ZpLT7I=", "narHash": "sha256-9iDTrfVM+mbcad31a47oqW8t8tfSA4C/si6F8F2DO/w=",
"owner": "willpower3309", "owner": "oxalica",
"repo": "swayfx", "repo": "rust-overlay",
"rev": "4d7ca7d975fb6d8ccae9830765986d5812fd011d", "rev": "615cfd85b4d9c51811a8d875374268fab5bd4089",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "willpower3309", "owner": "oxalica",
"repo": "swayfx", "repo": "rust-overlay",
"type": "github" "type": "github"
} }
}, },

View file

@ -21,6 +21,7 @@
system = "x86_64-linux"; system = "x86_64-linux";
username = "winston"; username = "winston";
isGraphical = true; isGraphical = true;
extraModules = [ inputs.nixos-cosmic.nixosModules.default ];
} }
{ {
host = "yuba"; host = "yuba";
@ -110,12 +111,14 @@
nixConfig = { nixConfig = {
extra-substituters = [ extra-substituters = [
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://cosmic.cachix.org"
"https://pre-commit-hooks.cachix.org" "https://pre-commit-hooks.cachix.org"
"https://nekowinston.cachix.org" "https://nekowinston.cachix.org"
"https://mic92.cachix.org" "https://mic92.cachix.org"
]; ];
extra-trusted-public-keys = [ extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
"pre-commit-hooks.cachix.org-1:Pkk3Panw5AW24TOv6kz3PvLhlH8puAsJTBbOPmBo7Rc=" "pre-commit-hooks.cachix.org-1:Pkk3Panw5AW24TOv6kz3PvLhlH8puAsJTBbOPmBo7Rc="
"nekowinston.cachix.org-1:lucpmaO+JwtoZj16HCO1p1fOv68s/RL1gumpVzRHRDs=" "nekowinston.cachix.org-1:lucpmaO+JwtoZj16HCO1p1fOv68s/RL1gumpVzRHRDs="
"mic92.cachix.org-1:gi8IhgiT3CYZnJsaW7fxznzTkMUOn1RY4GmXdT/nXYQ=" "mic92.cachix.org-1:gi8IhgiT3CYZnJsaW7fxznzTkMUOn1RY4GmXdT/nXYQ="
@ -159,10 +162,6 @@
inputs.flake-utils.follows = "flake-utils"; inputs.flake-utils.follows = "flake-utils";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
swayfx = {
url = "github:willpower3309/swayfx";
inputs.nixpkgs.follows = "nixpkgs";
};
vscode-server = { vscode-server = {
url = "github:nix-community/nixos-vscode-server"; url = "github:nix-community/nixos-vscode-server";
inputs.flake-utils.follows = "flake-utils"; inputs.flake-utils.follows = "flake-utils";
@ -180,5 +179,10 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs"; inputs.nixpkgs-stable.follows = "nixpkgs";
}; };
nixos-cosmic = {
url = "github:lilyinstarlight/nixos-cosmic";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
} }

View file

@ -15,7 +15,7 @@ in
}; };
programs.firefox = { programs.firefox = {
enable = isLinux; enable = false;
profiles.default = { profiles.default = {
search.default = "DuckDuckGo"; search.default = "DuckDuckGo";
search.force = true; search.force = true;

View file

@ -11,9 +11,7 @@ let
wallpaper-uri = "file://${../wallpapers/dhm_1610.png}"; wallpaper-uri = "file://${../wallpapers/dhm_1610.png}";
in in
{ {
config = config = lib.mkIf (osConfig.dotfiles.desktop == "gnome") {
lib.mkIf (config.isGraphical && pkgs.stdenv.isLinux && (osConfig.dotfiles.desktop == "gnome"))
{
home.packages = with pkgs.gnomeExtensions; [ home.packages = with pkgs.gnomeExtensions; [
appindicator appindicator
blur-my-shell blur-my-shell

View file

@ -11,7 +11,7 @@ in
config = lib.mkIf (config.isGraphical && pkgs.stdenv.isLinux) { config = lib.mkIf (config.isGraphical && pkgs.stdenv.isLinux) {
home.pointerCursor = { home.pointerCursor = {
name = "macOS-Monterey"; name = "macOS-Monterey";
package = pkgs.nur.repos.nekowinston.apple-cursor; package = pkgs.apple-cursor;
size = 24; size = 24;
}; };

View file

@ -6,9 +6,7 @@
... ...
}: }:
{ {
config = config = lib.mkIf (osConfig.dotfiles.desktop == "hyprland") {
lib.mkIf (config.isGraphical && pkgs.stdenv.isLinux && (osConfig.dotfiles.desktop == "sway"))
{
home = { home = {
packages = with pkgs; [ packages = with pkgs; [
blueberry blueberry

View file

@ -23,9 +23,7 @@ let
}; };
in in
{ {
config = config = lib.mkIf (osConfig.dotfiles.desktop == "sway") {
lib.mkIf (config.isGraphical && pkgs.stdenv.isLinux && (osConfig.dotfiles.desktop == "sway"))
{
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home = { home = {

View file

@ -0,0 +1,11 @@
{ lib, config, ... }:
{
config = lib.mkIf (config.dotfiles.desktop == "cosmic") {
environment.sessionVariables.NIXOS_OZONE_WL = "1";
services = {
desktopManager.cosmic.enable = true;
displayManager.cosmic-greeter.enable = true;
};
};
}

View file

@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./boot.nix ./boot.nix
./cosmic.nix
./gnome.nix ./gnome.nix
./greeter.nix ./greeter.nix
./input.nix ./input.nix

View file

@ -34,9 +34,9 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cabextract cabextract
discover-overlay
lutris-free lutris-free
mangohud mangohud
nur.repos.nekowinston.discover-overlay
virt-manager virt-manager
wineWowPackages.staging wineWowPackages.staging
winetricks winetricks

View file

@ -54,6 +54,8 @@ rec {
${target}."${host}" = builder { ${target}."${host}" = builder {
inherit system; inherit system;
modules = [ modules = [
(
{ config, ... }:
{ {
options = { options = {
dotfiles = { dotfiles = {
@ -65,11 +67,13 @@ rec {
desktop = mkOption { desktop = mkOption {
type = types.nullOr ( type = types.nullOr (
types.enum [ types.enum [
"cosmic"
"gnome" "gnome"
"hyprland"
"sway" "sway"
] ]
); );
default = "sway"; default = if (pkgs.stdenv.isLinux && config.dotfiles.isGraphical) then "sway" else null;
description = "The desktop environment to use"; description = "The desktop environment to use";
}; };
}; };
@ -79,9 +83,9 @@ rec {
description = "Whether the system is a graphical target"; description = "Whether the system is a graphical target";
}; };
}; };
config.dotfiles.desktop = pkgs.lib.mkIf (!isGraphical) null;
config.networking.hostName = host; config.networking.hostName = host;
} }
)
./common/shared ./common/shared
./common/${hostPlatform} ./common/${hostPlatform}
./${host} ./${host}

View file

@ -7,7 +7,6 @@
srcs = prev.callPackages ../_sources/generated.nix { }; srcs = prev.callPackages ../_sources/generated.nix { };
in in
{ {
inherit (inputs.swayfx.packages.${prev.system}) swayfx-unwrapped;
nushellPlugins = (prev.nushellPlugins or { }) // { nushellPlugins = (prev.nushellPlugins or { }) // {
clipboard = prev.callPackage ./nu_plugin_clipboard.nix { }; clipboard = prev.callPackage ./nu_plugin_clipboard.nix { };
}; };