switch back to nixfmt
This commit is contained in:
parent
6d30e0a9f5
commit
62032eab6d
37 changed files with 797 additions and 689 deletions
203
flake.nix
203
flake.nix
|
|
@ -78,46 +78,51 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs =
|
||||||
nixpkgs,
|
{
|
||||||
nixpkgs-unstable,
|
nixpkgs,
|
||||||
nix-cachyos-kernel,
|
nixpkgs-unstable,
|
||||||
catppuccin,
|
nix-cachyos-kernel,
|
||||||
catppuccin-palette,
|
catppuccin,
|
||||||
home-manager,
|
catppuccin-palette,
|
||||||
plasma-manager,
|
home-manager,
|
||||||
niri,
|
plasma-manager,
|
||||||
noctalia,
|
niri,
|
||||||
spicetify-nix,
|
noctalia,
|
||||||
nur,
|
spicetify-nix,
|
||||||
nixvim,
|
nur,
|
||||||
apple-silicon,
|
nixvim,
|
||||||
openmw,
|
apple-silicon,
|
||||||
catppuccin-discord,
|
openmw,
|
||||||
catppuccin-btop,
|
catppuccin-discord,
|
||||||
catppuccin-mpv,
|
catppuccin-btop,
|
||||||
...
|
catppuccin-mpv,
|
||||||
}: let
|
...
|
||||||
# All systems we want to support for the generic VM
|
|
||||||
# to run the vm:
|
|
||||||
# nixos-rebuild build-vm --flake ~/nix#$(nix eval --raw --impure --expr 'builtins.currentSystem')
|
|
||||||
supportedSystems = ["x86_64-linux" "aarch64-linux"];
|
|
||||||
|
|
||||||
# Shared config for all package sets
|
|
||||||
pkgConfig = {
|
|
||||||
allowUnfree = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
mkNixosSystem = {
|
|
||||||
hostname,
|
|
||||||
system,
|
|
||||||
extraModules ? [],
|
|
||||||
extraSpecialArgs ? {},
|
|
||||||
}:
|
}:
|
||||||
nixpkgs.lib.nixosSystem {
|
let
|
||||||
inherit system;
|
# All systems we want to support for the generic VM
|
||||||
specialArgs =
|
# to run the vm:
|
||||||
{
|
# nixos-rebuild build-vm --flake ~/nix#$(nix eval --raw --impure --expr 'builtins.currentSystem')
|
||||||
|
supportedSystems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Shared config for all package sets
|
||||||
|
pkgConfig = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
mkNixosSystem =
|
||||||
|
{
|
||||||
|
hostname,
|
||||||
|
system,
|
||||||
|
extraModules ? [ ],
|
||||||
|
extraSpecialArgs ? { },
|
||||||
|
}:
|
||||||
|
nixpkgs.lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
specialArgs = {
|
||||||
inherit catppuccin system;
|
inherit catppuccin system;
|
||||||
pkgs-unstable = import nixpkgs-unstable {
|
pkgs-unstable = import nixpkgs-unstable {
|
||||||
inherit system;
|
inherit system;
|
||||||
|
|
@ -125,8 +130,7 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// extraSpecialArgs;
|
// extraSpecialArgs;
|
||||||
modules =
|
modules = [
|
||||||
[
|
|
||||||
{
|
{
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = pkgConfig;
|
config = pkgConfig;
|
||||||
|
|
@ -170,7 +174,7 @@
|
||||||
|
|
||||||
# Increase file descriptor limit for builds
|
# Increase file descriptor limit for builds
|
||||||
sandbox = "relaxed";
|
sandbox = "relaxed";
|
||||||
extra-sandbox-paths = [];
|
extra-sandbox-paths = [ ];
|
||||||
build-users-group = "nixbld";
|
build-users-group = "nixbld";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -241,65 +245,66 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ extraModules;
|
++ extraModules;
|
||||||
};
|
|
||||||
|
|
||||||
mkHomeConfig = {
|
|
||||||
user,
|
|
||||||
hostname,
|
|
||||||
system,
|
|
||||||
}:
|
|
||||||
home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
config = pkgConfig;
|
|
||||||
};
|
};
|
||||||
pkgs-unstable = import nixpkgs-unstable {
|
|
||||||
inherit system;
|
|
||||||
config = pkgConfig;
|
|
||||||
};
|
|
||||||
home.username = user;
|
|
||||||
home.homeDirectory = "/home/${user}";
|
|
||||||
modules = [
|
|
||||||
./home
|
|
||||||
./home/hosts/${hostname}.nix
|
|
||||||
catppuccin.homeModules.catppuccin
|
|
||||||
home-manager.homeModules.home-manager
|
|
||||||
plasma-manager.homeModules.plasma-manager
|
|
||||||
niri.homeModules.default
|
|
||||||
noctalia.homeModules.noctalia
|
|
||||||
nixvim.homeModules.nixvim
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
nixosConfigurations = {
|
|
||||||
peach = mkNixosSystem {
|
|
||||||
hostname = "peach";
|
|
||||||
system = "aarch64-linux";
|
|
||||||
extraModules = [
|
|
||||||
apple-silicon.nixosModules.default
|
|
||||||
{nixpkgs.overlays = [apple-silicon.overlays.apple-silicon-overlay];}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
alien =
|
mkHomeConfig =
|
||||||
mkNixosSystem {
|
{
|
||||||
hostname = "alien";
|
user,
|
||||||
system = "x86_64-linux";
|
hostname,
|
||||||
extraModules = [
|
system,
|
||||||
{nixpkgs.overlays = [nix-cachyos-kernel.overlays.default];}
|
}:
|
||||||
|
home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config = pkgConfig;
|
||||||
|
};
|
||||||
|
pkgs-unstable = import nixpkgs-unstable {
|
||||||
|
inherit system;
|
||||||
|
config = pkgConfig;
|
||||||
|
};
|
||||||
|
home.username = user;
|
||||||
|
home.homeDirectory = "/home/${user}";
|
||||||
|
modules = [
|
||||||
|
./home
|
||||||
|
./home/hosts/${hostname}.nix
|
||||||
|
catppuccin.homeModules.catppuccin
|
||||||
|
home-manager.homeModules.home-manager
|
||||||
|
plasma-manager.homeModules.plasma-manager
|
||||||
|
niri.homeModules.default
|
||||||
|
noctalia.homeModules.noctalia
|
||||||
|
nixvim.homeModules.nixvim
|
||||||
];
|
];
|
||||||
}
|
};
|
||||||
// nixpkgs.lib.genAttrs supportedSystems (
|
in
|
||||||
system:
|
{
|
||||||
|
nixosConfigurations = {
|
||||||
|
peach = mkNixosSystem {
|
||||||
|
hostname = "peach";
|
||||||
|
system = "aarch64-linux";
|
||||||
|
extraModules = [
|
||||||
|
apple-silicon.nixosModules.default
|
||||||
|
{ nixpkgs.overlays = [ apple-silicon.overlays.apple-silicon-overlay ]; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
alien =
|
||||||
|
mkNixosSystem {
|
||||||
|
hostname = "alien";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
extraModules = [
|
||||||
|
{ nixpkgs.overlays = [ nix-cachyos-kernel.overlays.default ]; }
|
||||||
|
];
|
||||||
|
}
|
||||||
|
// nixpkgs.lib.genAttrs supportedSystems (
|
||||||
|
system:
|
||||||
mkNixosSystem {
|
mkNixosSystem {
|
||||||
hostname = "vm-generic";
|
hostname = "vm-generic";
|
||||||
inherit system;
|
inherit system;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations =
|
homeConfigurations = {
|
||||||
{
|
|
||||||
peach = mkHomeConfig {
|
peach = mkHomeConfig {
|
||||||
user = "sckova";
|
user = "sckova";
|
||||||
hostname = "peach";
|
hostname = "peach";
|
||||||
|
|
@ -313,11 +318,11 @@
|
||||||
}
|
}
|
||||||
// nixpkgs.lib.genAttrs supportedSystems (
|
// nixpkgs.lib.genAttrs supportedSystems (
|
||||||
system:
|
system:
|
||||||
mkHomeConfig {
|
mkHomeConfig {
|
||||||
user = "sckova";
|
user = "sckova";
|
||||||
hostname = "vm-generic";
|
hostname = "vm-generic";
|
||||||
inherit system;
|
inherit system;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
@ -23,7 +24,7 @@
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/d83ec136-df01-4b9e-a523-6d75726fb904";
|
device = "/dev/disk/by-uuid/d83ec136-df01-4b9e-a523-6d75726fb904";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = ["subvol=@"];
|
options = [ "subvol=@" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/nix" = {
|
fileSystems."/nix" = {
|
||||||
|
|
@ -46,7 +47,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{device = "/dev/disk/by-uuid/056af100-9382-4cbd-b3d5-90df7da69585";}
|
{ device = "/dev/disk/by-uuid/056af100-9382-4cbd-b3d5-90df7da69585"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,13 @@
|
||||||
lib,
|
lib,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["sdhci_pci"];
|
boot.initrd.availableKernelModules = [ "sdhci_pci" ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-label/NixOS";
|
device = "/dev/disk/by-label/NixOS";
|
||||||
|
|
@ -26,7 +27,7 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [ ];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,16 @@
|
||||||
lib,
|
lib,
|
||||||
system,
|
system,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
imports = [];
|
{
|
||||||
|
imports = [ ];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["ehci_pci" "xhci_pci" "usbhid" "sr_mod"];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"ehci_pci"
|
||||||
|
"xhci_pci"
|
||||||
|
"usbhid"
|
||||||
|
"sr_mod"
|
||||||
|
];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-label/nixos";
|
device = "/dev/disk/by-label/nixos";
|
||||||
|
|
@ -18,11 +24,14 @@
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-label/boot";
|
device = "/dev/disk/by-label/boot";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = ["fmask=0077" "dmask=0077"];
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{device = "/dev/disk/by-label/swap";}
|
{ device = "/dev/disk/by-label/swap"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# Set platform from the system argument passed by the flake
|
# Set platform from the system argument passed by the flake
|
||||||
|
|
@ -30,7 +39,7 @@
|
||||||
|
|
||||||
# Enable Parallels tools only on aarch64
|
# Enable Parallels tools only on aarch64
|
||||||
hardware.parallels.enable = lib.mkIf (system == "aarch64-linux") true;
|
hardware.parallels.enable = lib.mkIf (system == "aarch64-linux") true;
|
||||||
nixpkgs.config.allowUnfreePredicate =
|
nixpkgs.config.allowUnfreePredicate = lib.mkIf (system == "aarch64-linux") (
|
||||||
lib.mkIf (system == "aarch64-linux")
|
pkg: builtins.elem (lib.getName pkg) [ "prl-tools" ]
|
||||||
(pkg: builtins.elem (lib.getName pkg) ["prl-tools"]);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,11 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
|
let
|
||||||
catppuccin-discord = "${pkgs.catppuccin-discord}/share/catppuccin-discord/catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}.theme.css";
|
catppuccin-discord = "${pkgs.catppuccin-discord}/share/catppuccin-discord/catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}.theme.css";
|
||||||
|
|
||||||
mergedThemes = pkgs.runCommand "mergedConfig" {} ''
|
mergedThemes = pkgs.runCommand "mergedConfig" { } ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp ${catppuccin-discord} $out/catppuccin.css
|
cp ${catppuccin-discord} $out/catppuccin.css
|
||||||
'';
|
'';
|
||||||
|
|
@ -32,8 +33,9 @@
|
||||||
height = 1071;
|
height = 1071;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
home.packages = with pkgs; [vesktop];
|
{
|
||||||
|
home.packages = with pkgs; [ vesktop ];
|
||||||
|
|
||||||
home.file.".config/vesktop/settings.json" = {
|
home.file.".config/vesktop/settings.json" = {
|
||||||
text = builtins.toJSON vesktopSettings;
|
text = builtins.toJSON vesktopSettings;
|
||||||
|
|
|
||||||
|
|
@ -4,50 +4,53 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
home.file.".librewolf/default/chrome/" = {
|
home.file.".librewolf/default/chrome/" = {
|
||||||
source = ./librewolf_css;
|
source = ./librewolf_css;
|
||||||
force = true;
|
force = true;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".librewolf/default/chrome/colors.css" = let
|
home.file.".librewolf/default/chrome/colors.css" =
|
||||||
color = pkgs.catppuccin.rgb.${config.catppuccin.flavor};
|
let
|
||||||
accent = color.${config.catppuccin.accent};
|
color = pkgs.catppuccin.rgb.${config.catppuccin.flavor};
|
||||||
in {
|
accent = color.${config.catppuccin.accent};
|
||||||
text = ''
|
in
|
||||||
* {
|
{
|
||||||
--accent: ${accent};
|
text = ''
|
||||||
--rosewater: ${color.rosewater};
|
* {
|
||||||
--flamingo: ${color.flamingo};
|
--accent: ${accent};
|
||||||
--pink: ${color.pink};
|
--rosewater: ${color.rosewater};
|
||||||
--mauve: ${color.mauve};
|
--flamingo: ${color.flamingo};
|
||||||
--red: ${color.red};
|
--pink: ${color.pink};
|
||||||
--maroon: ${color.maroon};
|
--mauve: ${color.mauve};
|
||||||
--peach: ${color.peach};
|
--red: ${color.red};
|
||||||
--yellow: ${color.yellow};
|
--maroon: ${color.maroon};
|
||||||
--green: ${color.green};
|
--peach: ${color.peach};
|
||||||
--teal: ${color.teal};
|
--yellow: ${color.yellow};
|
||||||
--sky: ${color.sky};
|
--green: ${color.green};
|
||||||
--sapphire: ${color.sapphire};
|
--teal: ${color.teal};
|
||||||
--blue: ${color.blue};
|
--sky: ${color.sky};
|
||||||
--lavender: ${color.lavender};
|
--sapphire: ${color.sapphire};
|
||||||
--text: ${color.text};
|
--blue: ${color.blue};
|
||||||
--subtext1: ${color.subtext1};
|
--lavender: ${color.lavender};
|
||||||
--subtext0: ${color.subtext0};
|
--text: ${color.text};
|
||||||
--overlay2: ${color.overlay2};
|
--subtext1: ${color.subtext1};
|
||||||
--overlay1: ${color.overlay1};
|
--subtext0: ${color.subtext0};
|
||||||
--overlay0: ${color.overlay0};
|
--overlay2: ${color.overlay2};
|
||||||
--surface2: ${color.surface2};
|
--overlay1: ${color.overlay1};
|
||||||
--surface1: ${color.surface1};
|
--overlay0: ${color.overlay0};
|
||||||
--surface0: ${color.surface0};
|
--surface2: ${color.surface2};
|
||||||
--base: ${color.base};
|
--surface1: ${color.surface1};
|
||||||
--mantle: ${color.mantle};
|
--surface0: ${color.surface0};
|
||||||
--crust: ${color.crust};
|
--base: ${color.base};
|
||||||
}
|
--mantle: ${color.mantle};
|
||||||
'';
|
--crust: ${color.crust};
|
||||||
force = true;
|
}
|
||||||
};
|
'';
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
|
||||||
home.file.".local/share/firefoxpwa/profiles/01KEYXH9TC4B54J5CTPNE75JP0/prefs.js" = {
|
home.file.".local/share/firefoxpwa/profiles/01KEYXH9TC4B54J5CTPNE75JP0/prefs.js" = {
|
||||||
text = ''
|
text = ''
|
||||||
|
|
@ -256,59 +259,61 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
search = let
|
search =
|
||||||
nixIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/nix-snowflake.svg";
|
let
|
||||||
googleIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/google.svg";
|
nixIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/nix-snowflake.svg";
|
||||||
in {
|
googleIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/google.svg";
|
||||||
force = true;
|
in
|
||||||
default = "google";
|
{
|
||||||
order = [
|
force = true;
|
||||||
"google"
|
default = "google";
|
||||||
];
|
order = [
|
||||||
engines = {
|
"google"
|
||||||
nix-packages = {
|
];
|
||||||
name = "Nix Packages";
|
engines = {
|
||||||
urls = [
|
nix-packages = {
|
||||||
{
|
name = "Nix Packages";
|
||||||
template = "https://search.nixos.org/packages";
|
urls = [
|
||||||
params = [
|
{
|
||||||
{
|
template = "https://search.nixos.org/packages";
|
||||||
name = "type";
|
params = [
|
||||||
value = "packages";
|
{
|
||||||
}
|
name = "type";
|
||||||
{
|
value = "packages";
|
||||||
name = "query";
|
}
|
||||||
value = "{searchTerms}";
|
{
|
||||||
}
|
name = "query";
|
||||||
];
|
value = "{searchTerms}";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
icon = nixIcon;
|
icon = nixIcon;
|
||||||
definedAliases = ["@np"];
|
definedAliases = [ "@np" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixos-wiki = {
|
nixos-wiki = {
|
||||||
name = "NixOS Wiki";
|
name = "NixOS Wiki";
|
||||||
urls = [{template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";}];
|
urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
|
||||||
icon = nixIcon;
|
icon = nixIcon;
|
||||||
definedAliases = ["@nw"];
|
definedAliases = [ "@nw" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
google = {
|
google = {
|
||||||
name = "Google";
|
name = "Google";
|
||||||
urls = [{template = "https://google.com/search?q={searchTerms}";}];
|
urls = [ { template = "https://google.com/search?q={searchTerms}"; } ];
|
||||||
icon = googleIcon;
|
icon = googleIcon;
|
||||||
definedAliases = ["@go"];
|
definedAliases = [ "@go" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
wikipedia = {
|
wikipedia = {
|
||||||
name = "Wikipedia";
|
name = "Wikipedia";
|
||||||
urls = [{template = "https://en.wikipedia.org/w/index.php?search={searchTerms}";}];
|
urls = [ { template = "https://en.wikipedia.org/w/index.php?search={searchTerms}"; } ];
|
||||||
definedAliases = ["@wi"];
|
definedAliases = [ "@wi" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,16 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
mergedConfig = pkgs.runCommand "mergedConfig" {} ''
|
let
|
||||||
|
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
${pkgs.gnused}/bin/sed 's/${pkgs.catppuccin.${config.catppuccin.flavor}.base}/#000000/g' \
|
${pkgs.gnused}/bin/sed 's/${pkgs.catppuccin.${config.catppuccin.flavor}.base}/#000000/g' \
|
||||||
${pkgs.catppuccin-mpv-git}/themes/${config.catppuccin.flavor}/${config.catppuccin.accent}.conf \
|
${pkgs.catppuccin-mpv-git}/themes/${config.catppuccin.flavor}/${config.catppuccin.accent}.conf \
|
||||||
> $out/mpv.conf
|
> $out/mpv.conf
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(mpv.override {
|
(mpv.override {
|
||||||
scripts = with mpvScripts; [
|
scripts = with mpvScripts; [
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@
|
||||||
autoUpdate = true;
|
autoUpdate = true;
|
||||||
autoUpdateNotification = true;
|
autoUpdateNotification = true;
|
||||||
useQuickCss = true;
|
useQuickCss = true;
|
||||||
themeLinks = [];
|
themeLinks = [ ];
|
||||||
eagerPatches = false;
|
eagerPatches = false;
|
||||||
enabledThemes = ["catppuccin.css"];
|
enabledThemes = [ "catppuccin.css" ];
|
||||||
enableReactDevtools = false;
|
enableReactDevtools = false;
|
||||||
frameless = false;
|
frameless = false;
|
||||||
transparent = true;
|
transparent = true;
|
||||||
|
|
@ -330,8 +330,8 @@
|
||||||
ImageFilename.enabled = false;
|
ImageFilename.enabled = false;
|
||||||
};
|
};
|
||||||
uiElements = {
|
uiElements = {
|
||||||
chatBarButtons = {};
|
chatBarButtons = { };
|
||||||
messagePopoverButtons = {};
|
messagePopoverButtons = { };
|
||||||
};
|
};
|
||||||
notifications = {
|
notifications = {
|
||||||
timeout = 5000;
|
timeout = 5000;
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,13 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
capitalize = str:
|
let
|
||||||
|
capitalize =
|
||||||
|
str:
|
||||||
(lib.toUpper (builtins.substring 0 1 str)) + (builtins.substring 1 (builtins.stringLength str) str);
|
(lib.toUpper (builtins.substring 0 1 str)) + (builtins.substring 1 (builtins.stringLength str) str);
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
# home.sessionVariables = {
|
# home.sessionVariables = {
|
||||||
# EDITOR = "code";
|
# EDITOR = "code";
|
||||||
# };
|
# };
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@
|
||||||
pkgs-unstable,
|
pkgs-unstable,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
options = {
|
options = {
|
||||||
catppuccinUpper = {
|
catppuccinUpper = {
|
||||||
accent = lib.mkOption {
|
accent = lib.mkOption {
|
||||||
|
|
@ -106,30 +107,32 @@
|
||||||
default = pkgs.noto-fonts-color-emoji;
|
default = pkgs.noto-fonts-color-emoji;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
cursor = let
|
cursor =
|
||||||
attrName = config.catppuccin.flavor + config.catppuccinUpper.accent;
|
let
|
||||||
in {
|
attrName = config.catppuccin.flavor + config.catppuccinUpper.accent;
|
||||||
name = lib.mkOption {
|
in
|
||||||
type = lib.types.str;
|
{
|
||||||
readOnly = true;
|
name = lib.mkOption {
|
||||||
default = "catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}-cursors";
|
type = lib.types.str;
|
||||||
|
readOnly = true;
|
||||||
|
default = "catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}-cursors";
|
||||||
|
};
|
||||||
|
package = lib.mkOption {
|
||||||
|
type = lib.types.package;
|
||||||
|
readOnly = true;
|
||||||
|
default = pkgs.catppuccin-cursors.${attrName};
|
||||||
|
};
|
||||||
|
size = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
readOnly = true;
|
||||||
|
default = 24;
|
||||||
|
};
|
||||||
|
path = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
readOnly = true;
|
||||||
|
default = "${pkgs.catppuccin-cursors.${attrName}}/share/icons";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
package = lib.mkOption {
|
|
||||||
type = lib.types.package;
|
|
||||||
readOnly = true;
|
|
||||||
default = pkgs.catppuccin-cursors.${attrName};
|
|
||||||
};
|
|
||||||
size = lib.mkOption {
|
|
||||||
type = lib.types.int;
|
|
||||||
readOnly = true;
|
|
||||||
default = 24;
|
|
||||||
};
|
|
||||||
path = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
readOnly = true;
|
|
||||||
default = "${pkgs.catppuccin-cursors.${attrName}}/share/icons";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
isDark = lib.mkOption {
|
isDark = lib.mkOption {
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
|
|
@ -190,8 +193,8 @@
|
||||||
# enableWideVine = true;
|
# enableWideVine = true;
|
||||||
# })
|
# })
|
||||||
(catppuccin-kde.override {
|
(catppuccin-kde.override {
|
||||||
flavour = [config.catppuccin.flavor];
|
flavour = [ config.catppuccin.flavor ];
|
||||||
accents = [config.catppuccin.accent];
|
accents = [ config.catppuccin.accent ];
|
||||||
})
|
})
|
||||||
])
|
])
|
||||||
++ [
|
++ [
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(prismlauncher.override {
|
(prismlauncher.override {
|
||||||
jdks = [
|
jdks = [
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
home.packages = with pkgs; [openmw];
|
{
|
||||||
|
home.packages = with pkgs; [ openmw ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@
|
||||||
pkgs-unstable,
|
pkgs-unstable,
|
||||||
spicetify-nix,
|
spicetify-nix,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
accent = "blue";
|
accent = "blue";
|
||||||
flavor = "mocha";
|
flavor = "mocha";
|
||||||
|
|
@ -18,28 +19,30 @@
|
||||||
pkgs.daggerfall-unity
|
pkgs.daggerfall-unity
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.spicetify = let
|
programs.spicetify =
|
||||||
spicePkgs = spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
let
|
||||||
in {
|
spicePkgs = spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
||||||
enable = true;
|
in
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
adblock
|
adblock
|
||||||
hidePodcasts
|
hidePodcasts
|
||||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||||
];
|
];
|
||||||
enabledCustomApps = with spicePkgs.apps; [
|
enabledCustomApps = with spicePkgs.apps; [
|
||||||
newReleases
|
newReleases
|
||||||
ncsVisualizer
|
ncsVisualizer
|
||||||
];
|
];
|
||||||
enabledSnippets = with spicePkgs.snippets; [
|
enabledSnippets = with spicePkgs.snippets; [
|
||||||
rotatingCoverart
|
rotatingCoverart
|
||||||
pointer
|
pointer
|
||||||
];
|
];
|
||||||
|
|
||||||
theme = spicePkgs.themes.catppuccin;
|
theme = spicePkgs.themes.catppuccin;
|
||||||
colorScheme = config.catppuccin.flavor;
|
colorScheme = config.catppuccin.flavor;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
panels = [
|
panels = [
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
accent = "lavender";
|
accent = "lavender";
|
||||||
flavor = "macchiato";
|
flavor = "macchiato";
|
||||||
|
|
@ -34,7 +35,7 @@
|
||||||
|
|
||||||
shortcuts = {
|
shortcuts = {
|
||||||
# this is really annoying on apple laptops
|
# this is really annoying on apple laptops
|
||||||
org_kde_powerdevil.Sleep = [];
|
org_kde_powerdevil.Sleep = [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
panels = [
|
panels = [
|
||||||
|
|
@ -50,7 +51,7 @@
|
||||||
activeTaskSource = "activeTask";
|
activeTaskSource = "activeTask";
|
||||||
};
|
};
|
||||||
layout = {
|
layout = {
|
||||||
elements = ["windowTitle"];
|
elements = [ "windowTitle" ];
|
||||||
horizontalAlignment = "right";
|
horizontalAlignment = "right";
|
||||||
showDisabledElements = "deactivated";
|
showDisabledElements = "deactivated";
|
||||||
verticalAlignment = "center";
|
verticalAlignment = "center";
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,14 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
accent = "green";
|
accent = "green";
|
||||||
flavor = "mocha";
|
flavor = "mocha";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [];
|
home.packages = with pkgs; [ ];
|
||||||
|
|
||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
panels = [
|
panels = [
|
||||||
|
|
@ -24,7 +25,7 @@
|
||||||
activeTaskSource = "activeTask";
|
activeTaskSource = "activeTask";
|
||||||
};
|
};
|
||||||
layout = {
|
layout = {
|
||||||
elements = ["windowTitle"];
|
elements = [ "windowTitle" ];
|
||||||
horizontalAlignment = "right";
|
horizontalAlignment = "right";
|
||||||
showDisabledElements = "deactivated";
|
showDisabledElements = "deactivated";
|
||||||
verticalAlignment = "center";
|
verticalAlignment = "center";
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
programs.ghostwriter = {
|
programs.ghostwriter = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
|
|
@ -52,7 +53,7 @@
|
||||||
value = "";
|
value = "";
|
||||||
type = "substring";
|
type = "substring";
|
||||||
};
|
};
|
||||||
window-types = ["normal"];
|
window-types = [ "normal" ];
|
||||||
};
|
};
|
||||||
apply = {
|
apply = {
|
||||||
opacityactive = {
|
opacityactive = {
|
||||||
|
|
@ -72,7 +73,7 @@
|
||||||
value = "openmw";
|
value = "openmw";
|
||||||
type = "substring";
|
type = "substring";
|
||||||
};
|
};
|
||||||
window-types = ["normal"];
|
window-types = [ "normal" ];
|
||||||
};
|
};
|
||||||
apply = {
|
apply = {
|
||||||
noborder = {
|
noborder = {
|
||||||
|
|
@ -100,7 +101,7 @@
|
||||||
value = "Minecraft*";
|
value = "Minecraft*";
|
||||||
type = "substring";
|
type = "substring";
|
||||||
};
|
};
|
||||||
window-types = ["normal"];
|
window-types = [ "normal" ];
|
||||||
};
|
};
|
||||||
apply = {
|
apply = {
|
||||||
noborder = {
|
noborder = {
|
||||||
|
|
@ -151,7 +152,7 @@
|
||||||
value = "steamwebhelper";
|
value = "steamwebhelper";
|
||||||
type = "substring";
|
type = "substring";
|
||||||
};
|
};
|
||||||
window-types = ["normal"];
|
window-types = [ "normal" ];
|
||||||
};
|
};
|
||||||
apply = {
|
apply = {
|
||||||
desktopfile = {
|
desktopfile = {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./gtk.nix
|
./gtk.nix
|
||||||
./qt.nix
|
./qt.nix
|
||||||
|
|
@ -35,10 +36,7 @@
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
colorScheme =
|
colorScheme = if config.userOptions.isDark then "dark" else "light";
|
||||||
if config.userOptions.isDark
|
|
||||||
then "dark"
|
|
||||||
else "light";
|
|
||||||
|
|
||||||
# theme = {
|
# theme = {
|
||||||
# package = pkgs.kdePackages.breeze-gtk;
|
# package = pkgs.kdePackages.breeze-gtk;
|
||||||
|
|
@ -49,10 +47,7 @@
|
||||||
# };
|
# };
|
||||||
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name =
|
name = if config.userOptions.isDark then "Colloid-Dark" else "Colloid-Light";
|
||||||
if config.userOptions.isDark
|
|
||||||
then "Colloid-Dark"
|
|
||||||
else "Colloid-Light";
|
|
||||||
package = pkgs.colloid-icon-theme;
|
package = pkgs.colloid-icon-theme;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,18 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
|
let
|
||||||
colors = pkgs.catppuccin.hex.${config.catppuccin.flavor};
|
colors = pkgs.catppuccin.hex.${config.catppuccin.flavor};
|
||||||
|
|
||||||
mkColorSection = name: value: "@define-color ${name} ${value};";
|
mkColorSection = name: value: "@define-color ${name} ${value};";
|
||||||
|
|
||||||
generateCSS = ''
|
generateCSS = ''
|
||||||
/* Catppuccin ${lib.toUpper (builtins.substring 0 1 config.catppuccin.flavor)}${builtins.substring 1 (-1) config.catppuccin.flavor} ${lib.toUpper (builtins.substring 0 1 config.catppuccin.accent)}${builtins.substring 1 (-1) config.catppuccin.accent} Palette */
|
/* Catppuccin ${lib.toUpper (builtins.substring 0 1 config.catppuccin.flavor)}${
|
||||||
|
builtins.substring 1 (-1) config.catppuccin.flavor
|
||||||
|
} ${lib.toUpper (builtins.substring 0 1 config.catppuccin.accent)}${
|
||||||
|
builtins.substring 1 (-1) config.catppuccin.accent
|
||||||
|
} Palette */
|
||||||
|
|
||||||
/* Base colors */
|
/* Base colors */
|
||||||
${mkColorSection "window_bg_color" colors.base}
|
${mkColorSection "window_bg_color" colors.base}
|
||||||
|
|
@ -116,7 +121,8 @@
|
||||||
${mkColorSection "accent_bg_color" colors.${config.catppuccin.accent}}
|
${mkColorSection "accent_bg_color" colors.${config.catppuccin.accent}}
|
||||||
@define-color accent_fg_color @window_bg_color;
|
@define-color accent_fg_color @window_bg_color;
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/gtk-4.0/gtk.css" = {
|
".config/gtk-4.0/gtk.css" = {
|
||||||
text = generateCSS;
|
text = generateCSS;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
@ -32,84 +33,86 @@
|
||||||
general = "\"${config.userOptions.fontSans.name},${toString config.userOptions.fontSans.size}\"";
|
general = "\"${config.userOptions.fontSans.name},${toString config.userOptions.fontSans.size}\"";
|
||||||
};
|
};
|
||||||
|
|
||||||
ColorScheme = let
|
ColorScheme =
|
||||||
c = pkgs.catppuccin.bare.${config.catppuccin.flavor};
|
let
|
||||||
accent = c.${config.catppuccin.accent};
|
c = pkgs.catppuccin.bare.${config.catppuccin.flavor};
|
||||||
mkColors = roles: builtins.concatStringsSep ", " (map (r: "#ff${r}") roles);
|
accent = c.${config.catppuccin.accent};
|
||||||
in {
|
mkColors = roles: builtins.concatStringsSep ", " (map (r: "#ff${r}") roles);
|
||||||
active_colors = mkColors [
|
in
|
||||||
c.text
|
{
|
||||||
c.surface0
|
active_colors = mkColors [
|
||||||
c.surface1
|
c.text
|
||||||
c.surface0
|
c.surface0
|
||||||
c.base
|
c.surface1
|
||||||
c.mantle
|
c.surface0
|
||||||
c.text
|
c.base
|
||||||
c.text
|
c.mantle
|
||||||
c.text
|
c.text
|
||||||
c.base
|
c.text
|
||||||
c.mantle
|
c.text
|
||||||
c.crust
|
c.base
|
||||||
accent
|
c.mantle
|
||||||
c.base
|
c.crust
|
||||||
accent
|
accent
|
||||||
c.mauve
|
c.base
|
||||||
c.mantle
|
accent
|
||||||
"000000"
|
c.mauve
|
||||||
c.base
|
c.mantle
|
||||||
c.text
|
"000000"
|
||||||
c.overlay0
|
c.base
|
||||||
accent
|
c.text
|
||||||
];
|
c.overlay0
|
||||||
disabled_colors = mkColors [
|
accent
|
||||||
c.overlay0
|
];
|
||||||
c.surface0
|
disabled_colors = mkColors [
|
||||||
c.surface1
|
c.overlay0
|
||||||
c.surface0
|
c.surface0
|
||||||
c.overlay0
|
c.surface1
|
||||||
c.mantle
|
c.surface0
|
||||||
c.overlay0
|
c.overlay0
|
||||||
c.text
|
c.mantle
|
||||||
c.overlay0
|
c.overlay0
|
||||||
c.surface0
|
c.text
|
||||||
c.surface0
|
c.overlay0
|
||||||
c.mantle
|
c.surface0
|
||||||
c.overlay1
|
c.surface0
|
||||||
c.text
|
c.mantle
|
||||||
"0000ff"
|
c.overlay1
|
||||||
"ff00ff"
|
c.text
|
||||||
c.surface0
|
"0000ff"
|
||||||
"000000"
|
"ff00ff"
|
||||||
c.surface0
|
c.surface0
|
||||||
c.base
|
"000000"
|
||||||
"80000000"
|
c.surface0
|
||||||
c.overlay1
|
c.base
|
||||||
];
|
"80000000"
|
||||||
inactive_colors = mkColors [
|
c.overlay1
|
||||||
c.text
|
];
|
||||||
c.surface0
|
inactive_colors = mkColors [
|
||||||
c.surface1
|
c.text
|
||||||
c.surface0
|
c.surface0
|
||||||
c.base
|
c.surface1
|
||||||
c.mantle
|
c.surface0
|
||||||
c.text
|
c.base
|
||||||
c.text
|
c.mantle
|
||||||
c.text
|
c.text
|
||||||
c.base
|
c.text
|
||||||
c.mantle
|
c.text
|
||||||
c.crust
|
c.base
|
||||||
accent
|
c.mantle
|
||||||
c.base
|
c.crust
|
||||||
accent
|
accent
|
||||||
c.mauve
|
c.base
|
||||||
c.mantle
|
accent
|
||||||
"000000"
|
c.mauve
|
||||||
c.base
|
c.mantle
|
||||||
c.text
|
"000000"
|
||||||
c.overlay0
|
c.base
|
||||||
accent
|
c.text
|
||||||
];
|
c.overlay0
|
||||||
};
|
accent
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
systemd.user.sessionVariables = {
|
systemd.user.sessionVariables = {
|
||||||
XCURSOR_THEME = config.userOptions.cursor.name;
|
XCURSOR_THEME = config.userOptions.cursor.name;
|
||||||
XCURSOR_SIZE = toString config.userOptions.cursor.size;
|
XCURSOR_SIZE = toString config.userOptions.cursor.size;
|
||||||
|
|
@ -25,8 +26,8 @@
|
||||||
systemd.user.services.synology-mount = {
|
systemd.user.services.synology-mount = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Mount Synology NAS with Rclone and Home Manager.";
|
Description = "Mount Synology NAS with Rclone and Home Manager.";
|
||||||
After = ["tailscaled.service"];
|
After = [ "tailscaled.service" ];
|
||||||
Wants = ["tailscaled.service"];
|
Wants = [ "tailscaled.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
|
|
@ -61,7 +62,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
Install = {
|
Install = {
|
||||||
WantedBy = ["default.target"];
|
WantedBy = [ "default.target" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,17 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
mergedConfig = pkgs.runCommand "mergedConfig" {} ''
|
let
|
||||||
|
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
|
||||||
mkdir -p $out/themes
|
mkdir -p $out/themes
|
||||||
${pkgs.gnused}/bin/sed 's/blankFlavor/${config.catppuccin.flavor}/g' \
|
${pkgs.gnused}/bin/sed 's/blankFlavor/${config.catppuccin.flavor}/g' \
|
||||||
${./btop.conf} > $out/btop.conf
|
${./btop.conf} > $out/btop.conf
|
||||||
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_latte.theme $out/themes/
|
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_latte.theme $out/themes/
|
||||||
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_${config.catppuccin.flavor}.theme $out/themes/nixos.theme
|
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_${config.catppuccin.flavor}.theme $out/themes/nixos.theme
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
home.file.".config/btop" = {
|
home.file.".config/btop" = {
|
||||||
source = mergedConfig;
|
source = mergedConfig;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
kdePackages.qttools
|
kdePackages.qttools
|
||||||
eza
|
eza
|
||||||
|
|
@ -44,14 +45,15 @@
|
||||||
programs.man.generateCaches = false;
|
programs.man.generateCaches = false;
|
||||||
|
|
||||||
home.file.".config/fish/colors.fish" = {
|
home.file.".config/fish/colors.fish" = {
|
||||||
text = let
|
text =
|
||||||
flavor = config.catppuccin.flavor;
|
let
|
||||||
palette = pkgs.catppuccin.bare.${flavor};
|
flavor = config.catppuccin.flavor;
|
||||||
accent = config.catppuccin.accent;
|
palette = pkgs.catppuccin.bare.${flavor};
|
||||||
in
|
accent = config.catppuccin.accent;
|
||||||
|
in
|
||||||
lib.concatStringsSep "\n" (
|
lib.concatStringsSep "\n" (
|
||||||
(lib.mapAttrsToList (name: value: "set -g color_${name} ${value}") palette)
|
(lib.mapAttrsToList (name: value: "set -g color_${name} ${value}") palette)
|
||||||
++ ["set -g color_accent ${palette.${accent}}"]
|
++ [ "set -g color_accent ${palette.${accent}}" ]
|
||||||
);
|
);
|
||||||
force = true;
|
force = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
|
let
|
||||||
colors = pkgs.catppuccin.hex.${config.catppuccin.flavor};
|
colors = pkgs.catppuccin.hex.${config.catppuccin.flavor};
|
||||||
accent = colors.${config.catppuccin.accent};
|
accent = colors.${config.catppuccin.accent};
|
||||||
|
|
||||||
|
|
@ -87,7 +88,8 @@
|
||||||
text = kitty-colors;
|
text = kitty-colors;
|
||||||
destination = "/kitty-colors.conf";
|
destination = "/kitty-colors.conf";
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
home.file.".config/kitty/themes" = {
|
home.file.".config/kitty/themes" = {
|
||||||
source = kitty-colors-file;
|
source = kitty-colors-file;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
|
|
@ -109,7 +111,7 @@ in {
|
||||||
};
|
};
|
||||||
shellIntegration.enableFishIntegration = true;
|
shellIntegration.enableFishIntegration = true;
|
||||||
keybindings = {
|
keybindings = {
|
||||||
"ctrl+k" = ''combine : clear_terminal scroll active : clear_terminal scrollback active'';
|
"ctrl+k" = "combine : clear_terminal scroll active : clear_terminal scrollback active";
|
||||||
};
|
};
|
||||||
settings = {
|
settings = {
|
||||||
include = "/home/${config.userOptions.username}/.config/kitty/themes/kitty-colors.conf";
|
include = "/home/${config.userOptions.username}/.config/kitty/themes/kitty-colors.conf";
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
};
|
};
|
||||||
|
|
@ -11,7 +12,7 @@
|
||||||
kdePackages.qtdeclarative
|
kdePackages.qtdeclarative
|
||||||
prettier
|
prettier
|
||||||
prettierd
|
prettierd
|
||||||
alejandra
|
nixfmt
|
||||||
stylua
|
stylua
|
||||||
black
|
black
|
||||||
clang-tools
|
clang-tools
|
||||||
|
|
@ -106,18 +107,18 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
sources = [
|
sources = [
|
||||||
{name = "git";}
|
{ name = "git"; }
|
||||||
{name = "nvim_lsp";}
|
{ name = "nvim_lsp"; }
|
||||||
{name = "path";}
|
{ name = "path"; }
|
||||||
{name = "buffer";}
|
{ name = "buffer"; }
|
||||||
{name = "fish";}
|
{ name = "fish"; }
|
||||||
{name = "emoji";}
|
{ name = "emoji"; }
|
||||||
{
|
{
|
||||||
name = "buffer"; # text within current buffer
|
name = "buffer"; # text within current buffer
|
||||||
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
||||||
keywordLength = 3;
|
keywordLength = 3;
|
||||||
}
|
}
|
||||||
{name = "copilot";}
|
{ name = "copilot"; }
|
||||||
{
|
{
|
||||||
name = "path"; # file system paths
|
name = "path"; # file system paths
|
||||||
keywordLength = 3;
|
keywordLength = 3;
|
||||||
|
|
@ -133,16 +134,16 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
lua = ["stylua"];
|
lua = [ "stylua" ];
|
||||||
python = ["black"];
|
python = [ "black" ];
|
||||||
nix = ["alejandra"];
|
nix = [ "nixfmt" ];
|
||||||
javascript = ["prettier"];
|
javascript = [ "prettier" ];
|
||||||
css = ["prettier"];
|
css = [ "prettier" ];
|
||||||
json = ["prettier"];
|
json = [ "prettier" ];
|
||||||
jsonc = ["prettier"];
|
jsonc = [ "prettier" ];
|
||||||
fish = ["fish_indent"];
|
fish = [ "fish_indent" ];
|
||||||
c = ["clang-format"];
|
c = [ "clang-format" ];
|
||||||
cpp = ["clang-format"];
|
cpp = [ "clang-format" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Default formatting options
|
# Default formatting options
|
||||||
|
|
@ -185,108 +186,110 @@
|
||||||
nixd.enable = true;
|
nixd.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
lualine = let
|
lualine =
|
||||||
palette = pkgs.catppuccin.${config.catppuccin.flavor};
|
let
|
||||||
in {
|
palette = pkgs.catppuccin.${config.catppuccin.flavor};
|
||||||
enable = true;
|
in
|
||||||
settings = {
|
{
|
||||||
options = {
|
enable = true;
|
||||||
theme = {
|
settings = {
|
||||||
normal = {
|
options = {
|
||||||
a = {
|
theme = {
|
||||||
fg = palette.base;
|
normal = {
|
||||||
bg = palette.mauve;
|
a = {
|
||||||
|
fg = palette.base;
|
||||||
|
bg = palette.mauve;
|
||||||
|
};
|
||||||
|
b = {
|
||||||
|
fg = palette.text;
|
||||||
|
bg = palette.surface0;
|
||||||
|
};
|
||||||
|
c = {
|
||||||
|
fg = palette.text;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
b = {
|
insert = {
|
||||||
fg = palette.text;
|
a = {
|
||||||
bg = palette.surface0;
|
fg = palette.base;
|
||||||
|
bg = palette.blue;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
c = {
|
visual = {
|
||||||
fg = palette.text;
|
a = {
|
||||||
|
fg = palette.base;
|
||||||
|
bg = palette.teal;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
replace = {
|
||||||
|
a = {
|
||||||
|
fg = palette.base;
|
||||||
|
bg = palette.red;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
inactive = {
|
||||||
|
a = {
|
||||||
|
fg = palette.text;
|
||||||
|
bg = palette.base;
|
||||||
|
};
|
||||||
|
b = {
|
||||||
|
fg = palette.text;
|
||||||
|
bg = palette.base;
|
||||||
|
};
|
||||||
|
c = {
|
||||||
|
fg = palette.text;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
insert = {
|
component_separators = "";
|
||||||
a = {
|
section_separators = {
|
||||||
fg = palette.base;
|
left = "";
|
||||||
bg = palette.blue;
|
right = "";
|
||||||
};
|
|
||||||
};
|
|
||||||
visual = {
|
|
||||||
a = {
|
|
||||||
fg = palette.base;
|
|
||||||
bg = palette.teal;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
replace = {
|
|
||||||
a = {
|
|
||||||
fg = palette.base;
|
|
||||||
bg = palette.red;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
inactive = {
|
|
||||||
a = {
|
|
||||||
fg = palette.text;
|
|
||||||
bg = palette.base;
|
|
||||||
};
|
|
||||||
b = {
|
|
||||||
fg = palette.text;
|
|
||||||
bg = palette.base;
|
|
||||||
};
|
|
||||||
c = {
|
|
||||||
fg = palette.text;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
component_separators = "";
|
|
||||||
section_separators = {
|
sections = {
|
||||||
left = "";
|
lualine_a = [
|
||||||
right = "";
|
{
|
||||||
|
__unkeyed-1 = "mode";
|
||||||
|
separator = {
|
||||||
|
left = " ";
|
||||||
|
};
|
||||||
|
right_padding = 2;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
lualine_b = [
|
||||||
|
"filename"
|
||||||
|
"branch"
|
||||||
|
];
|
||||||
|
lualine_c = [ "%=" ];
|
||||||
|
lualine_x = [ ];
|
||||||
|
lualine_y = [
|
||||||
|
"filetype"
|
||||||
|
"progress"
|
||||||
|
];
|
||||||
|
lualine_z = [
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "location";
|
||||||
|
separator = {
|
||||||
|
right = " ";
|
||||||
|
};
|
||||||
|
left_padding = 2;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
sections = {
|
inactive_sections = {
|
||||||
lualine_a = [
|
lualine_a = [ "filename" ];
|
||||||
{
|
lualine_b = [ ];
|
||||||
__unkeyed-1 = "mode";
|
lualine_c = [ ];
|
||||||
separator = {
|
lualine_x = [ ];
|
||||||
left = " ";
|
lualine_y = [ ];
|
||||||
};
|
lualine_z = [ "location" ];
|
||||||
right_padding = 2;
|
};
|
||||||
}
|
tabline = { };
|
||||||
];
|
extensions = [ ];
|
||||||
lualine_b = [
|
|
||||||
"filename"
|
|
||||||
"branch"
|
|
||||||
];
|
|
||||||
lualine_c = ["%="];
|
|
||||||
lualine_x = [];
|
|
||||||
lualine_y = [
|
|
||||||
"filetype"
|
|
||||||
"progress"
|
|
||||||
];
|
|
||||||
lualine_z = [
|
|
||||||
{
|
|
||||||
__unkeyed-1 = "location";
|
|
||||||
separator = {
|
|
||||||
right = " ";
|
|
||||||
};
|
|
||||||
left_padding = 2;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
inactive_sections = {
|
|
||||||
lualine_a = ["filename"];
|
|
||||||
lualine_b = [];
|
|
||||||
lualine_c = [];
|
|
||||||
lualine_x = [];
|
|
||||||
lualine_y = [];
|
|
||||||
lualine_z = ["location"];
|
|
||||||
};
|
|
||||||
tabline = {};
|
|
||||||
extensions = [];
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./niri.nix
|
./niri.nix
|
||||||
./noctalia.nix
|
./noctalia.nix
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md
|
# https://github.com/sodiboo/niri-flake/blob/main/docs.md
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
# handle package systemwide
|
# handle package systemwide
|
||||||
|
|
@ -13,7 +14,7 @@
|
||||||
hotkey-overlay.skip-at-startup = true;
|
hotkey-overlay.skip-at-startup = true;
|
||||||
prefer-no-csd = true;
|
prefer-no-csd = true;
|
||||||
gestures.hot-corners.enable = false;
|
gestures.hot-corners.enable = false;
|
||||||
spawn-at-startup = []; # systemd is based sorry
|
spawn-at-startup = [ ]; # systemd is based sorry
|
||||||
overview = {
|
overview = {
|
||||||
backdrop-color = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
|
backdrop-color = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
|
||||||
workspace-shadow.enable = false;
|
workspace-shadow.enable = false;
|
||||||
|
|
@ -88,14 +89,15 @@
|
||||||
theme = config.userOptions.cursor.name;
|
theme = config.userOptions.cursor.name;
|
||||||
};
|
};
|
||||||
layout = {
|
layout = {
|
||||||
gaps = 2;
|
gaps = 4;
|
||||||
background-color = pkgs.catppuccin.${config.catppuccin.flavor}.mantle;
|
background-color = pkgs.catppuccin.${config.catppuccin.flavor}.mantle;
|
||||||
default-column-width = {
|
default-column-width = {
|
||||||
proportion = 0.5;
|
proportion = 0.5;
|
||||||
};
|
};
|
||||||
preset-column-widths = [
|
preset-column-widths = [
|
||||||
{proportion = 1.0 / 3.0;}
|
{ proportion = 4.0 / 12.0; }
|
||||||
{proportion = 2.0 / 3.0;}
|
{ proportion = 6.0 / 12.0; }
|
||||||
|
{ proportion = 8.0 / 12.0; }
|
||||||
];
|
];
|
||||||
border = {
|
border = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -137,10 +139,10 @@
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
geometry-corner-radius = {
|
geometry-corner-radius = {
|
||||||
top-left = 0.0;
|
top-left = 16.0;
|
||||||
top-right = 0.0;
|
top-right = 16.0;
|
||||||
bottom-left = 0.0;
|
bottom-left = 16.0;
|
||||||
bottom-right = 0.0;
|
bottom-right = 16.0;
|
||||||
};
|
};
|
||||||
clip-to-geometry = true;
|
clip-to-geometry = true;
|
||||||
}
|
}
|
||||||
|
|
@ -160,10 +162,10 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
binds = {
|
binds = {
|
||||||
"Mod+Shift+Slash".action.show-hotkey-overlay = {};
|
"Mod+Shift+Slash".action.show-hotkey-overlay = { };
|
||||||
|
|
||||||
"Mod+T" = {
|
"Mod+T" = {
|
||||||
action.spawn = ["kitty"];
|
action.spawn = [ "kitty" ];
|
||||||
hotkey-overlay.title = "Open a Terminal: kitty";
|
hotkey-overlay.title = "Open a Terminal: kitty";
|
||||||
};
|
};
|
||||||
"Mod+Space" = {
|
"Mod+Space" = {
|
||||||
|
|
@ -217,145 +219,187 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86MonBrightnessUp" = {
|
"XF86MonBrightnessUp" = {
|
||||||
action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
|
action.spawn = [
|
||||||
|
"noctalia-shell"
|
||||||
|
"ipc"
|
||||||
|
"call"
|
||||||
|
"brightness"
|
||||||
|
"increase"
|
||||||
|
];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86MonBrightnessDown" = {
|
"XF86MonBrightnessDown" = {
|
||||||
action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
|
action.spawn = [
|
||||||
|
"noctalia-shell"
|
||||||
|
"ipc"
|
||||||
|
"call"
|
||||||
|
"brightness"
|
||||||
|
"decrease"
|
||||||
|
];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Shift+XF86MonBrightnessUp" = {
|
"Shift+XF86MonBrightnessUp" = {
|
||||||
action.spawn = ["brightnessctl" "--class=backlight" "set" "+1%"];
|
action.spawn = [
|
||||||
|
"brightnessctl"
|
||||||
|
"--class=backlight"
|
||||||
|
"set"
|
||||||
|
"+1%"
|
||||||
|
];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Shift+XF86MonBrightnessDown" = {
|
"Shift+XF86MonBrightnessDown" = {
|
||||||
action.spawn = ["brightnessctl" "--class=backlight" "set" "1%-"];
|
action.spawn = [
|
||||||
|
"brightnessctl"
|
||||||
|
"--class=backlight"
|
||||||
|
"set"
|
||||||
|
"1%-"
|
||||||
|
];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86AudioPrev" = {
|
"XF86AudioPrev" = {
|
||||||
action.spawn = ["playerctl" "previous"];
|
action.spawn = [
|
||||||
|
"playerctl"
|
||||||
|
"previous"
|
||||||
|
];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86AudioPlay" = {
|
"XF86AudioPlay" = {
|
||||||
action.spawn = ["playerctl" "play-pause"];
|
action.spawn = [
|
||||||
|
"playerctl"
|
||||||
|
"play-pause"
|
||||||
|
];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86AudioNext" = {
|
"XF86AudioNext" = {
|
||||||
action.spawn = ["playerctl" "next"];
|
action.spawn = [
|
||||||
|
"playerctl"
|
||||||
|
"next"
|
||||||
|
];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86Sleep" = {
|
"XF86Sleep" = {
|
||||||
action.power-off-monitors = {};
|
action.power-off-monitors = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86Search" = {
|
"XF86Search" = {
|
||||||
action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"];
|
action.spawn = [
|
||||||
|
"noctalia-shell"
|
||||||
|
"ipc"
|
||||||
|
"call"
|
||||||
|
"launcher"
|
||||||
|
"toggle"
|
||||||
|
];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86LaunchA" = {
|
"XF86LaunchA" = {
|
||||||
action.spawn = ["niri" "msg" "action" "toggle-overview"];
|
action.spawn = [
|
||||||
|
"niri"
|
||||||
|
"msg"
|
||||||
|
"action"
|
||||||
|
"toggle-overview"
|
||||||
|
];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Mod+O" = {
|
"Mod+O" = {
|
||||||
action.toggle-overview = {};
|
action.toggle-overview = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Mod+Q" = {
|
"Mod+Q" = {
|
||||||
action.close-window = {};
|
action.close-window = { };
|
||||||
repeat = false;
|
repeat = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Mod+Left".action.focus-column-left = {};
|
"Mod+Left".action.focus-column-left = { };
|
||||||
"Mod+Down".action.focus-window-down = {};
|
"Mod+Down".action.focus-window-down = { };
|
||||||
"Mod+Up".action.focus-window-up = {};
|
"Mod+Up".action.focus-window-up = { };
|
||||||
"Mod+Right".action.focus-column-right = {};
|
"Mod+Right".action.focus-column-right = { };
|
||||||
"Mod+H".action.focus-column-left = {};
|
"Mod+H".action.focus-column-left = { };
|
||||||
"Mod+J".action.focus-window-down = {};
|
"Mod+J".action.focus-window-down = { };
|
||||||
"Mod+K".action.focus-window-up = {};
|
"Mod+K".action.focus-window-up = { };
|
||||||
"Mod+L".action.focus-column-right = {};
|
"Mod+L".action.focus-column-right = { };
|
||||||
|
|
||||||
"Mod+Ctrl+Left".action.move-column-left = {};
|
"Mod+Ctrl+Left".action.move-column-left = { };
|
||||||
"Mod+Ctrl+Down".action.move-window-down = {};
|
"Mod+Ctrl+Down".action.move-window-down = { };
|
||||||
"Mod+Ctrl+Up".action.move-window-up = {};
|
"Mod+Ctrl+Up".action.move-window-up = { };
|
||||||
"Mod+Ctrl+Right".action.move-column-right = {};
|
"Mod+Ctrl+Right".action.move-column-right = { };
|
||||||
"Mod+Ctrl+H".action.move-column-left = {};
|
"Mod+Ctrl+H".action.move-column-left = { };
|
||||||
"Mod+Ctrl+J".action.move-window-down = {};
|
"Mod+Ctrl+J".action.move-window-down = { };
|
||||||
"Mod+Ctrl+K".action.move-window-up = {};
|
"Mod+Ctrl+K".action.move-window-up = { };
|
||||||
"Mod+Ctrl+L".action.move-column-right = {};
|
"Mod+Ctrl+L".action.move-column-right = { };
|
||||||
|
|
||||||
"Mod+Home".action.focus-column-first = {};
|
"Mod+Home".action.focus-column-first = { };
|
||||||
"Mod+End".action.focus-column-last = {};
|
"Mod+End".action.focus-column-last = { };
|
||||||
"Mod+Ctrl+Home".action.move-column-to-first = {};
|
"Mod+Ctrl+Home".action.move-column-to-first = { };
|
||||||
"Mod+Ctrl+End".action.move-column-to-last = {};
|
"Mod+Ctrl+End".action.move-column-to-last = { };
|
||||||
|
|
||||||
"Mod+Shift+Left".action.focus-monitor-left = {};
|
"Mod+Shift+Left".action.focus-monitor-left = { };
|
||||||
"Mod+Shift+Down".action.focus-monitor-down = {};
|
"Mod+Shift+Down".action.focus-monitor-down = { };
|
||||||
"Mod+Shift+Up".action.focus-monitor-up = {};
|
"Mod+Shift+Up".action.focus-monitor-up = { };
|
||||||
"Mod+Shift+Right".action.focus-monitor-right = {};
|
"Mod+Shift+Right".action.focus-monitor-right = { };
|
||||||
"Mod+Shift+H".action.focus-monitor-left = {};
|
"Mod+Shift+H".action.focus-monitor-left = { };
|
||||||
"Mod+Shift+J".action.focus-monitor-down = {};
|
"Mod+Shift+J".action.focus-monitor-down = { };
|
||||||
"Mod+Shift+K".action.focus-monitor-up = {};
|
"Mod+Shift+K".action.focus-monitor-up = { };
|
||||||
"Mod+Shift+L".action.focus-monitor-right = {};
|
"Mod+Shift+L".action.focus-monitor-right = { };
|
||||||
|
|
||||||
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = {};
|
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = { };
|
||||||
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = {};
|
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = { };
|
||||||
"Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = {};
|
"Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = { };
|
||||||
"Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = {};
|
"Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = { };
|
||||||
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = {};
|
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = { };
|
||||||
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = {};
|
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = { };
|
||||||
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = {};
|
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = { };
|
||||||
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = {};
|
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = { };
|
||||||
|
|
||||||
"Mod+Page_Down".action.focus-workspace-down = {};
|
"Mod+Page_Down".action.focus-workspace-down = { };
|
||||||
"Mod+Page_Up".action.focus-workspace-up = {};
|
"Mod+Page_Up".action.focus-workspace-up = { };
|
||||||
"Mod+U".action.focus-workspace-down = {};
|
"Mod+U".action.focus-workspace-down = { };
|
||||||
"Mod+I".action.focus-workspace-up = {};
|
"Mod+I".action.focus-workspace-up = { };
|
||||||
"Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = {};
|
"Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = { };
|
||||||
"Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = {};
|
"Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = { };
|
||||||
"Mod+Ctrl+U".action.move-column-to-workspace-down = {};
|
"Mod+Ctrl+U".action.move-column-to-workspace-down = { };
|
||||||
"Mod+Ctrl+I".action.move-column-to-workspace-up = {};
|
"Mod+Ctrl+I".action.move-column-to-workspace-up = { };
|
||||||
|
|
||||||
"Mod+Shift+Page_Down".action.move-workspace-down = {};
|
"Mod+Shift+Page_Down".action.move-workspace-down = { };
|
||||||
"Mod+Shift+Page_Up".action.move-workspace-up = {};
|
"Mod+Shift+Page_Up".action.move-workspace-up = { };
|
||||||
"Mod+Shift+U".action.move-workspace-down = {};
|
"Mod+Shift+U".action.move-workspace-down = { };
|
||||||
"Mod+Shift+I".action.move-workspace-up = {};
|
"Mod+Shift+I".action.move-workspace-up = { };
|
||||||
|
|
||||||
"Mod+WheelScrollDown" = {
|
"Mod+WheelScrollDown" = {
|
||||||
action.focus-workspace-down = {};
|
action.focus-workspace-down = { };
|
||||||
cooldown-ms = 150;
|
cooldown-ms = 150;
|
||||||
};
|
};
|
||||||
"Mod+WheelScrollUp" = {
|
"Mod+WheelScrollUp" = {
|
||||||
action.focus-workspace-up = {};
|
action.focus-workspace-up = { };
|
||||||
cooldown-ms = 150;
|
cooldown-ms = 150;
|
||||||
};
|
};
|
||||||
"Mod+Ctrl+WheelScrollDown" = {
|
"Mod+Ctrl+WheelScrollDown" = {
|
||||||
action.move-column-to-workspace-down = {};
|
action.move-column-to-workspace-down = { };
|
||||||
cooldown-ms = 150;
|
cooldown-ms = 150;
|
||||||
};
|
};
|
||||||
"Mod+Ctrl+WheelScrollUp" = {
|
"Mod+Ctrl+WheelScrollUp" = {
|
||||||
action.move-column-to-workspace-up = {};
|
action.move-column-to-workspace-up = { };
|
||||||
cooldown-ms = 150;
|
cooldown-ms = 150;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Mod+WheelScrollRight".action.focus-column-right = {};
|
"Mod+WheelScrollRight".action.focus-column-right = { };
|
||||||
"Mod+WheelScrollLeft".action.focus-column-left = {};
|
"Mod+WheelScrollLeft".action.focus-column-left = { };
|
||||||
"Mod+Ctrl+WheelScrollRight".action.move-column-right = {};
|
"Mod+Ctrl+WheelScrollRight".action.move-column-right = { };
|
||||||
"Mod+Ctrl+WheelScrollLeft".action.move-column-left = {};
|
"Mod+Ctrl+WheelScrollLeft".action.move-column-left = { };
|
||||||
|
|
||||||
"Mod+Shift+WheelScrollDown".action.focus-column-right = {};
|
"Mod+Shift+WheelScrollDown".action.focus-column-right = { };
|
||||||
"Mod+Shift+WheelScrollUp".action.focus-column-left = {};
|
"Mod+Shift+WheelScrollUp".action.focus-column-left = { };
|
||||||
"Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = {};
|
"Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = { };
|
||||||
"Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = {};
|
"Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = { };
|
||||||
|
|
||||||
"Mod+1".action.focus-workspace = 1;
|
"Mod+1".action.focus-workspace = 1;
|
||||||
"Mod+2".action.focus-workspace = 2;
|
"Mod+2".action.focus-workspace = 2;
|
||||||
|
|
@ -376,22 +420,22 @@
|
||||||
"Mod+Ctrl+8".action.move-column-to-workspace = 8;
|
"Mod+Ctrl+8".action.move-column-to-workspace = 8;
|
||||||
"Mod+Ctrl+9".action.move-column-to-workspace = 9;
|
"Mod+Ctrl+9".action.move-column-to-workspace = 9;
|
||||||
|
|
||||||
"Mod+BracketLeft".action.consume-or-expel-window-left = {};
|
"Mod+BracketLeft".action.consume-or-expel-window-left = { };
|
||||||
"Mod+BracketRight".action.consume-or-expel-window-right = {};
|
"Mod+BracketRight".action.consume-or-expel-window-right = { };
|
||||||
|
|
||||||
"Mod+Comma".action.consume-window-into-column = {};
|
"Mod+Comma".action.consume-window-into-column = { };
|
||||||
"Mod+Period".action.expel-window-from-column = {};
|
"Mod+Period".action.expel-window-from-column = { };
|
||||||
|
|
||||||
"Mod+R".action.switch-preset-column-width = {};
|
"Mod+R".action.switch-preset-column-width = { };
|
||||||
"Mod+Shift+R".action.switch-preset-window-height = {};
|
"Mod+Shift+R".action.switch-preset-window-height = { };
|
||||||
"Mod+Ctrl+R".action.reset-window-height = {};
|
"Mod+Ctrl+R".action.reset-window-height = { };
|
||||||
"Mod+F".action.maximize-column = {};
|
"Mod+F".action.maximize-column = { };
|
||||||
"Mod+Shift+F".action.maximize-window-to-edges = {};
|
"Mod+Shift+F".action.maximize-window-to-edges = { };
|
||||||
"Mod+Ctrl+Shift+F".action.fullscreen-window = {};
|
"Mod+Ctrl+Shift+F".action.fullscreen-window = { };
|
||||||
|
|
||||||
"Mod+C".action.center-column = {};
|
"Mod+C".action.center-column = { };
|
||||||
|
|
||||||
"Mod+Ctrl+C".action.center-visible-columns = {};
|
"Mod+Ctrl+C".action.center-visible-columns = { };
|
||||||
|
|
||||||
"Mod+Minus".action.set-column-width = "-10%";
|
"Mod+Minus".action.set-column-width = "-10%";
|
||||||
"Mod+Equal".action.set-column-width = "+10%";
|
"Mod+Equal".action.set-column-width = "+10%";
|
||||||
|
|
@ -399,26 +443,26 @@
|
||||||
"Mod+Shift+Minus".action.set-window-height = "-10%";
|
"Mod+Shift+Minus".action.set-window-height = "-10%";
|
||||||
"Mod+Shift+Equal".action.set-window-height = "+10%";
|
"Mod+Shift+Equal".action.set-window-height = "+10%";
|
||||||
|
|
||||||
"Mod+V".action.toggle-window-floating = {};
|
"Mod+V".action.toggle-window-floating = { };
|
||||||
"Mod+Shift+V".action.switch-focus-between-floating-and-tiling = {};
|
"Mod+Shift+V".action.switch-focus-between-floating-and-tiling = { };
|
||||||
|
|
||||||
"Mod+W".action.toggle-column-tabbed-display = {};
|
"Mod+W".action.toggle-column-tabbed-display = { };
|
||||||
|
|
||||||
"Print".action.screenshot = {};
|
"Print".action.screenshot = { };
|
||||||
"Mod+Shift+S".action.screenshot = {};
|
"Mod+Shift+S".action.screenshot = { };
|
||||||
"Ctrl+Print".action.screenshot-screen = {};
|
"Ctrl+Print".action.screenshot-screen = { };
|
||||||
"Alt+Print".action.screenshot-window = {};
|
"Alt+Print".action.screenshot-window = { };
|
||||||
|
|
||||||
"Mod+Escape" = {
|
"Mod+Escape" = {
|
||||||
action.toggle-keyboard-shortcuts-inhibit = {};
|
action.toggle-keyboard-shortcuts-inhibit = { };
|
||||||
allow-inhibiting = false;
|
allow-inhibiting = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Mod+Shift+E".action.quit = {};
|
"Mod+Shift+E".action.quit = { };
|
||||||
"Ctrl+Alt+Delete".action.quit = {};
|
"Ctrl+Alt+Delete".action.quit = { };
|
||||||
|
|
||||||
"Mod+Shift+P" = {
|
"Mod+Shift+P" = {
|
||||||
action.power-off-monitors = {};
|
action.power-off-monitors = { };
|
||||||
hotkey-overlay.title = "Turn off the display";
|
hotkey-overlay.title = "Turn off the display";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
programs.noctalia-shell = {
|
programs.noctalia-shell = {
|
||||||
enable = true;
|
enable = true;
|
||||||
colors = {
|
colors = {
|
||||||
|
|
@ -33,7 +34,7 @@
|
||||||
bar = {
|
bar = {
|
||||||
position = "top";
|
position = "top";
|
||||||
backgroundOpacity = 1;
|
backgroundOpacity = 1;
|
||||||
monitors = [];
|
monitors = [ ];
|
||||||
density = "spacious";
|
density = "spacious";
|
||||||
showCapsule = true;
|
showCapsule = true;
|
||||||
capsuleOpacity = 1;
|
capsuleOpacity = 1;
|
||||||
|
|
@ -198,7 +199,7 @@
|
||||||
enabled = false;
|
enabled = false;
|
||||||
overviewEnabled = false;
|
overviewEnabled = false;
|
||||||
directory = "/home/sckova/.local/share/wallpaper";
|
directory = "/home/sckova/.local/share/wallpaper";
|
||||||
monitorDirectories = [];
|
monitorDirectories = [ ];
|
||||||
enableMultiMonitorDirectories = false;
|
enableMultiMonitorDirectories = false;
|
||||||
recursiveSearch = false;
|
recursiveSearch = false;
|
||||||
setWallpaperOnAllMonitors = true;
|
setWallpaperOnAllMonitors = true;
|
||||||
|
|
@ -217,7 +218,7 @@
|
||||||
enableClipboardHistory = true;
|
enableClipboardHistory = true;
|
||||||
enableClipPreview = true;
|
enableClipPreview = true;
|
||||||
position = "top_left";
|
position = "top_left";
|
||||||
pinnedExecs = [];
|
pinnedExecs = [ ];
|
||||||
useApp2Unit = false;
|
useApp2Unit = false;
|
||||||
sortByMostUsed = true;
|
sortByMostUsed = true;
|
||||||
terminalCommand = "kitty -e";
|
terminalCommand = "kitty -e";
|
||||||
|
|
@ -302,8 +303,8 @@
|
||||||
floatingRatio = 1;
|
floatingRatio = 1;
|
||||||
size = 1;
|
size = 1;
|
||||||
onlySameOutput = true;
|
onlySameOutput = true;
|
||||||
monitors = [];
|
monitors = [ ];
|
||||||
pinnedApps = [];
|
pinnedApps = [ ];
|
||||||
colorizeIcons = false;
|
colorizeIcons = false;
|
||||||
pinnedStatic = false;
|
pinnedStatic = false;
|
||||||
inactiveIndicators = false;
|
inactiveIndicators = false;
|
||||||
|
|
@ -346,7 +347,7 @@
|
||||||
};
|
};
|
||||||
notifications = {
|
notifications = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
monitors = [];
|
monitors = [ ];
|
||||||
location = "top_right";
|
location = "top_right";
|
||||||
overlayLayer = true;
|
overlayLayer = true;
|
||||||
backgroundOpacity = 1;
|
backgroundOpacity = 1;
|
||||||
|
|
@ -372,7 +373,7 @@
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
];
|
];
|
||||||
monitors = [];
|
monitors = [ ];
|
||||||
};
|
};
|
||||||
audio = {
|
audio = {
|
||||||
volumeStep = 5;
|
volumeStep = 5;
|
||||||
|
|
@ -380,7 +381,7 @@
|
||||||
cavaFrameRate = 30;
|
cavaFrameRate = 30;
|
||||||
visualizerType = "linear";
|
visualizerType = "linear";
|
||||||
visualizerQuality = "high";
|
visualizerQuality = "high";
|
||||||
mprisBlacklist = [];
|
mprisBlacklist = [ ];
|
||||||
preferredPlayer = "";
|
preferredPlayer = "";
|
||||||
externalMixer = "pwvucontrol || pavucontrol";
|
externalMixer = "pwvucontrol || pavucontrol";
|
||||||
};
|
};
|
||||||
|
|
@ -435,8 +436,8 @@
|
||||||
|
|
||||||
systemd.user.services.noctalia-shell = {
|
systemd.user.services.noctalia-shell = {
|
||||||
Unit = {
|
Unit = {
|
||||||
After = ["niri.service"];
|
After = [ "niri.service" ];
|
||||||
PartOf = ["niri.service"];
|
PartOf = [ "niri.service" ];
|
||||||
Description = "Noctalia Shell - Wayland desktop shell";
|
Description = "Noctalia Shell - Wayland desktop shell";
|
||||||
Documentation = "https://docs.noctalia.dev/docs";
|
Documentation = "https://docs.noctalia.dev/docs";
|
||||||
};
|
};
|
||||||
|
|
@ -454,7 +455,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
Install = {
|
Install = {
|
||||||
WantedBy = ["niri.service"];
|
WantedBy = [ "niri.service" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
|
let
|
||||||
script = pkgs.writeShellScript "bing-wallpaper" ''
|
script = pkgs.writeShellScript "bing-wallpaper" ''
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
|
@ -62,7 +63,8 @@
|
||||||
|
|
||||||
echo "Wallpaper downloaded and applied successfully."
|
echo "Wallpaper downloaded and applied successfully."
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
wpaperd
|
wpaperd
|
||||||
];
|
];
|
||||||
|
|
@ -81,9 +83,9 @@ in {
|
||||||
systemd.user.services.wpaperd = {
|
systemd.user.services.wpaperd = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Modern wallpaper daemon for Wayland";
|
Description = "Modern wallpaper daemon for Wayland";
|
||||||
PartOf = ["niri.service"];
|
PartOf = [ "niri.service" ];
|
||||||
Requires = ["niri.service"];
|
Requires = [ "niri.service" ];
|
||||||
After = ["niri.service"];
|
After = [ "niri.service" ];
|
||||||
};
|
};
|
||||||
Service = {
|
Service = {
|
||||||
ExecStart = "${pkgs.wpaperd}/bin/wpaperd";
|
ExecStart = "${pkgs.wpaperd}/bin/wpaperd";
|
||||||
|
|
@ -128,7 +130,7 @@ in {
|
||||||
Persistent = true;
|
Persistent = true;
|
||||||
};
|
};
|
||||||
Install = {
|
Install = {
|
||||||
WantedBy = ["timers.target"];
|
WantedBy = [ "timers.target" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
final: prev: {
|
final: prev: {
|
||||||
spotify-webapp = final.callPackage ./spotify-webapp {};
|
spotify-webapp = final.callPackage ./spotify-webapp { };
|
||||||
|
|
||||||
catppuccin-discord = final.callPackage ./catppuccin-discord {
|
catppuccin-discord = final.callPackage ./catppuccin-discord {
|
||||||
inherit (final) catppuccin-discord-git;
|
inherit (final) catppuccin-discord-git;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
copyDesktopItems,
|
copyDesktopItems,
|
||||||
chromium,
|
chromium,
|
||||||
writeShellScriptBin,
|
writeShellScriptBin,
|
||||||
}: let
|
}:
|
||||||
|
let
|
||||||
pname = "spotify-webapp";
|
pname = "spotify-webapp";
|
||||||
version = "1.0.0";
|
version = "1.0.0";
|
||||||
|
|
||||||
|
|
@ -24,48 +25,48 @@
|
||||||
"$@"
|
"$@"
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
nativeBuildInputs = [copyDesktopItems];
|
nativeBuildInputs = [ copyDesktopItems ];
|
||||||
|
|
||||||
desktopItems = [
|
desktopItems = [
|
||||||
(makeDesktopItem {
|
(makeDesktopItem {
|
||||||
name = "spotify-webapp";
|
name = "spotify-webapp";
|
||||||
exec = "spotify-webapp %U";
|
exec = "spotify-webapp %U";
|
||||||
icon = "spotify";
|
icon = "spotify";
|
||||||
desktopName = "Spotify";
|
desktopName = "Spotify";
|
||||||
genericName = "Music Streaming";
|
genericName = "Music Streaming";
|
||||||
comment = "Listen to music on Spotify";
|
comment = "Listen to music on Spotify";
|
||||||
categories = [
|
categories = [
|
||||||
"Audio"
|
"Audio"
|
||||||
"Music"
|
"Music"
|
||||||
"AudioVideo"
|
"AudioVideo"
|
||||||
];
|
];
|
||||||
mimeTypes = ["x-scheme-handler/spotify"];
|
mimeTypes = [ "x-scheme-handler/spotify" ];
|
||||||
startupWMClass = "spotify-webapp";
|
startupWMClass = "spotify-webapp";
|
||||||
startupNotify = true;
|
startupNotify = true;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
ln -s ${launchScript}/bin/spotify-webapp $out/bin/spotify-webapp
|
ln -s ${launchScript}/bin/spotify-webapp $out/bin/spotify-webapp
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Spotify web app running in Chromium";
|
description = "Spotify web app running in Chromium";
|
||||||
homepage = "https://open.spotify.com";
|
homepage = "https://open.spotify.com";
|
||||||
license = licenses.free;
|
license = licenses.free;
|
||||||
maintainers = [];
|
maintainers = [ ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
mainProgram = "spotify-webapp";
|
mainProgram = "spotify-webapp";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
# this makes electron apps work per the wiki
|
# this makes electron apps work per the wiki
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,17 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
ddcutil
|
ddcutil
|
||||||
mangohud
|
mangohud
|
||||||
(bottles.override {removeWarningPopup = true;})
|
(bottles.override { removeWarningPopup = true; })
|
||||||
];
|
];
|
||||||
|
|
||||||
# enable ddcutil
|
# enable ddcutil
|
||||||
users.users.sckova.extraGroups = ["i2c"];
|
users.users.sckova.extraGroups = [ "i2c" ];
|
||||||
boot.extraModulePackages = [config.boot.kernelPackages.ddcci-driver];
|
boot.extraModulePackages = [ config.boot.kernelPackages.ddcci-driver ];
|
||||||
boot.kernelModules = [
|
boot.kernelModules = [
|
||||||
"i2c-dev"
|
"i2c-dev"
|
||||||
"ddcci_backlight"
|
"ddcci_backlight"
|
||||||
|
|
@ -92,7 +93,7 @@
|
||||||
|
|
||||||
# enable hyper-v for guests
|
# enable hyper-v for guests
|
||||||
virtualisation.hypervGuest.enable = true;
|
virtualisation.hypervGuest.enable = true;
|
||||||
boot.blacklistedKernelModules = ["hyperv_fb"];
|
boot.blacklistedKernelModules = [ "hyperv_fb" ];
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = [
|
boot.binfmt.emulatedSystems = [
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
|
|
@ -100,5 +101,5 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
# i don't even remember what this does or why i added it
|
# i don't even remember what this does or why i added it
|
||||||
systemd.tmpfiles.rules = ["L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware"];
|
systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,9 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
boot.kernelParams = ["appledrm.show_notch=1"];
|
{
|
||||||
|
boot.kernelParams = [ "appledrm.show_notch=1" ];
|
||||||
|
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
accent = "lavender";
|
accent = "lavender";
|
||||||
|
|
@ -14,7 +15,7 @@
|
||||||
ddcutil
|
ddcutil
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.extraModulePackages = [config.boot.kernelPackages.ddcci-driver];
|
boot.extraModulePackages = [ config.boot.kernelPackages.ddcci-driver ];
|
||||||
boot.kernelModules = [
|
boot.kernelModules = [
|
||||||
"i2c-dev"
|
"i2c-dev"
|
||||||
"ddcci_backlight"
|
"ddcci_backlight"
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{catppuccin, ...}: {
|
{ catppuccin, ... }:
|
||||||
|
{
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
accent = "green";
|
accent = "green";
|
||||||
flavor = "mocha";
|
flavor = "mocha";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.sckova = {
|
home-manager.users.sckova = {
|
||||||
imports = [catppuccin.homeModules.catppuccin];
|
imports = [ catppuccin.homeModules.catppuccin ];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.spice-vdagentd.enable = true;
|
services.spice-vdagentd.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
# This following block taken from the wiki:
|
# This following block taken from the wiki:
|
||||||
# https://nixos.wiki/wiki/Fish#Setting_fish_as_your_shell
|
# https://nixos.wiki/wiki/Fish#Setting_fish_as_your_shell
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
|
let
|
||||||
tailscaleWaitScript = pkgs.writeShellScript "tailscale-wait-for-ip" ''
|
tailscaleWaitScript = pkgs.writeShellScript "tailscale-wait-for-ip" ''
|
||||||
echo "Waiting for tailscale0 to get an IP address..."
|
echo "Waiting for tailscale0 to get an IP address..."
|
||||||
for i in {1..15}; do
|
for i in {1..15}; do
|
||||||
|
|
@ -20,7 +21,8 @@
|
||||||
echo "Warning: tailscale0 did not get IP address within 15 seconds"
|
echo "Warning: tailscale0 did not get IP address within 15 seconds"
|
||||||
exit 0
|
exit 0
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
systemd.services.tailscaled = {
|
systemd.services.tailscaled = {
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStartPost = tailscaleWaitScript;
|
ExecStartPost = tailscaleWaitScript;
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,14 @@
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [
|
nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
wrapLibrewolf = browser: opts: let
|
wrapLibrewolf =
|
||||||
extraPrefs =
|
browser: opts:
|
||||||
(opts.extraPrefs or "")
|
let
|
||||||
+ ''
|
extraPrefs = (opts.extraPrefs or "") + ''
|
||||||
lockPref("media.gmp-widevinecdm.version", "system-installed");
|
lockPref("media.gmp-widevinecdm.version", "system-installed");
|
||||||
lockPref("media.gmp-widevinecdm.visible", true);
|
lockPref("media.gmp-widevinecdm.visible", true);
|
||||||
lockPref("media.gmp-widevinecdm.enabled", true);
|
lockPref("media.gmp-widevinecdm.enabled", true);
|
||||||
|
|
@ -18,18 +19,16 @@
|
||||||
lockPref("media.eme.enabled", true);
|
lockPref("media.eme.enabled", true);
|
||||||
lockPref("media.eme.encrypted-media-encryption-scheme.enabled", true);
|
lockPref("media.eme.encrypted-media-encryption-scheme.enabled", true);
|
||||||
'';
|
'';
|
||||||
widevineCdmDir = "${final.widevine-cdm}/share/google/chrome/WidevineCdm";
|
widevineCdmDir = "${final.widevine-cdm}/share/google/chrome/WidevineCdm";
|
||||||
widevineOutDir = "$out/gmp-widevinecdm/system-installed";
|
widevineOutDir = "$out/gmp-widevinecdm/system-installed";
|
||||||
in
|
in
|
||||||
(prev.wrapLibrewolf browser (opts // {inherit extraPrefs;})).overrideAttrs (previousAttrs: {
|
(prev.wrapLibrewolf browser (opts // { inherit extraPrefs; })).overrideAttrs (previousAttrs: {
|
||||||
buildCommand =
|
buildCommand = previousAttrs.buildCommand + ''
|
||||||
previousAttrs.buildCommand
|
mkdir -p "${widevineOutDir}"
|
||||||
+ ''
|
ln -s "${widevineCdmDir}/_platform_specific/linux_arm64/libwidevinecdm.so" "${widevineOutDir}/libwidevinecdm.so"
|
||||||
mkdir -p "${widevineOutDir}"
|
ln -s "${widevineCdmDir}/manifest.json" "${widevineOutDir}/manifest.json"
|
||||||
ln -s "${widevineCdmDir}/_platform_specific/linux_arm64/libwidevinecdm.so" "${widevineOutDir}/libwidevinecdm.so"
|
wrapProgram "$oldExe" --set MOZ_GMP_PATH "${widevineOutDir}"
|
||||||
ln -s "${widevineCdmDir}/manifest.json" "${widevineOutDir}/manifest.json"
|
'';
|
||||||
wrapProgram "$oldExe" --set MOZ_GMP_PATH "${widevineOutDir}"
|
|
||||||
'';
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue