Compare commits
No commits in common. "c7441b0a26490dc5b6e9b62ad7a0c1b22db51b5b" and "c923221b7933c9b1f847190b55883aeae8c1a1ea" have entirely different histories.
c7441b0a26
...
c923221b79
245
flake.lock
245
flake.lock
|
@ -5,11 +5,11 @@
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709025227,
|
"lastModified": 1708890466,
|
||||||
"narHash": "sha256-KXcORItjYJTdEO/BlBd0Uym1Xa3eBu43uvpFiWjJOdY=",
|
"narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=",
|
||||||
"owner": "SenchoPens",
|
"owner": "SenchoPens",
|
||||||
"repo": "base16.nix",
|
"repo": "base16.nix",
|
||||||
"rev": "4e9b16c8b44958bc6bf46d99c3bb1b59c9c9c764",
|
"rev": "665b3c6748534eb766c777298721cece9453fdae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -18,6 +18,151 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"base16-alacritty": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1703982197,
|
||||||
|
"narHash": "sha256-TNxKbwdiUXGi4Z4chT72l3mt3GSvOcz6NZsUH8bQU/k=",
|
||||||
|
"owner": "aarowill",
|
||||||
|
"repo": "base16-alacritty",
|
||||||
|
"rev": "c95c200b3af739708455a03b5d185d3d2d263c6e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "aarowill",
|
||||||
|
"repo": "base16-alacritty",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-alacritty-yaml": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1674275109,
|
||||||
|
"narHash": "sha256-Adwx9yP70I6mJrjjODOgZJjt4OPPe8gJu7UuBboXO4M=",
|
||||||
|
"owner": "aarowill",
|
||||||
|
"repo": "base16-alacritty",
|
||||||
|
"rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "aarowill",
|
||||||
|
"repo": "base16-alacritty",
|
||||||
|
"rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-fish": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1622559957,
|
||||||
|
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
|
||||||
|
"owner": "tomyun",
|
||||||
|
"repo": "base16-fish",
|
||||||
|
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tomyun",
|
||||||
|
"repo": "base16-fish",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-foot": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696725948,
|
||||||
|
"narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-foot",
|
||||||
|
"rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-foot",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-helix": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696727917,
|
||||||
|
"narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-helix",
|
||||||
|
"rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-helix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-kitty": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1665001328,
|
||||||
|
"narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=",
|
||||||
|
"owner": "kdrag0n",
|
||||||
|
"repo": "base16-kitty",
|
||||||
|
"rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "kdrag0n",
|
||||||
|
"repo": "base16-kitty",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-tmux": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696725902,
|
||||||
|
"narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-tmux",
|
||||||
|
"rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-tmux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-vim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1663659192,
|
||||||
|
"narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=",
|
||||||
|
"owner": "chriskempson",
|
||||||
|
"repo": "base16-vim",
|
||||||
|
"rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "chriskempson",
|
||||||
|
"repo": "base16-vim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1673956053,
|
||||||
|
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fromYaml": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -34,6 +179,23 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gnome-shell": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1698794309,
|
||||||
|
"narHash": "sha256-/TIkZ8y5Wv3QHLFp79Poao9fINurKs5pa4z0CRe+F8s=",
|
||||||
|
"owner": "GNOME",
|
||||||
|
"repo": "gnome-shell",
|
||||||
|
"rev": "a7c169c6c29cf02a4c392fa0acbbc5f5072823e7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "GNOME",
|
||||||
|
"ref": "45.1",
|
||||||
|
"repo": "gnome-shell",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -41,16 +203,36 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710888565,
|
"lastModified": 1711604890,
|
||||||
"narHash": "sha256-s9Hi4RHhc6yut4EcYD50sZWRDKsugBJHSbON8KFwoTw=",
|
"narHash": "sha256-vbI/gxRTq/gHW1Q8z6D/7JG/qGNl3JTimUDX+MwnC3A=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "f33900124c23c4eca5831b9b5eb32ea5894375ce",
|
"rev": "3142bdcc470e1e291e1fbe942fd69e06bd00c5df",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"stylix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1706001011,
|
||||||
|
"narHash": "sha256-J7Bs9LHdZubgNHZ6+eE/7C18lZ1P6S5/zdJSdXFItI4=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "3df2a80f3f85f91ea06e5e91071fa74ba92e5084",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-23.11",
|
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -91,42 +273,57 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711668574,
|
"lastModified": 1711523803,
|
||||||
"narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=",
|
"narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659",
|
"rev": "2726f127c15a4cc9810843b96cad73c7eb39e443",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-23.11",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16": "base16",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"iosevka-custom": "iosevka-custom",
|
"iosevka-custom": "iosevka-custom",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"tt-schemes": "tt-schemes"
|
"stylix": "stylix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tt-schemes": {
|
"stylix": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"base16": "base16",
|
||||||
|
"base16-alacritty": "base16-alacritty",
|
||||||
|
"base16-alacritty-yaml": "base16-alacritty-yaml",
|
||||||
|
"base16-fish": "base16-fish",
|
||||||
|
"base16-foot": "base16-foot",
|
||||||
|
"base16-helix": "base16-helix",
|
||||||
|
"base16-kitty": "base16-kitty",
|
||||||
|
"base16-tmux": "base16-tmux",
|
||||||
|
"base16-vim": "base16-vim",
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"gnome-shell": "gnome-shell",
|
||||||
|
"home-manager": "home-manager_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711623106,
|
"lastModified": 1711224130,
|
||||||
"narHash": "sha256-mKmQPUbZaOOnpwmfGHm+iujAqGWqlTaBi16R/FUFQh4=",
|
"narHash": "sha256-RyOvyQASi5lvKLH5ISiGGkdX1eJxYF25aQALGfN9U0k=",
|
||||||
"owner": "tinted-theming",
|
"owner": "danth",
|
||||||
"repo": "schemes",
|
"repo": "stylix",
|
||||||
"rev": "45f3d879fb64276df7e69c18f7adbb88938e10e7",
|
"rev": "53d3e5d5b36a5227b906e00d7e884dcfb7852403",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tinted-theming",
|
"owner": "danth",
|
||||||
"repo": "schemes",
|
"repo": "stylix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
60
flake.nix
60
flake.nix
|
@ -7,25 +7,23 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-23.11";
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
stylix = {
|
||||||
|
url = "github:danth/stylix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
iosevka-custom.url = "git+https://git.xenia.me.uk/pixelifytica/iosevka.git";
|
iosevka-custom.url = "git+https://git.xenia.me.uk/pixelifytica/iosevka.git";
|
||||||
base16.url = "github:SenchoPens/base16.nix";
|
|
||||||
tt-schemes = {
|
|
||||||
url = "github:tinted-theming/schemes";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
stylix,
|
||||||
iosevka-custom,
|
iosevka-custom,
|
||||||
base16,
|
|
||||||
tt-schemes,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
systemConfig = {
|
systemConfig = {
|
||||||
|
@ -41,28 +39,6 @@
|
||||||
inherit hostName user;
|
inherit hostName user;
|
||||||
accentColour = "base07"; # catppuccin lavender
|
accentColour = "base07"; # catppuccin lavender
|
||||||
catppuccinVariant = "Mocha";
|
catppuccinVariant = "Mocha";
|
||||||
fonts = with import nixpkgs {inherit system;};
|
|
||||||
with iosevka-custom.outputs; rec {
|
|
||||||
sizes = {
|
|
||||||
applications = 16;
|
|
||||||
desktop = 20;
|
|
||||||
popups = 20;
|
|
||||||
terminal = 16;
|
|
||||||
};
|
|
||||||
serif = sansSerif;
|
|
||||||
sansSerif = {
|
|
||||||
name = names."iosevka-custom-aile";
|
|
||||||
package = packages.${system}."iosevka-custom-aile";
|
|
||||||
};
|
|
||||||
monospace = {
|
|
||||||
name = names."iosevka-custom-nerdfont";
|
|
||||||
package = packages.${system}."iosevka-custom-nerdfont";
|
|
||||||
};
|
|
||||||
emoji = {
|
|
||||||
name = "EmojiOne Color";
|
|
||||||
package = emojione;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
|
@ -70,21 +46,18 @@
|
||||||
modules =
|
modules =
|
||||||
[
|
[
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
base16.nixosModule
|
stylix.nixosModules.stylix
|
||||||
./hosts/${hostName}/configuration.nix
|
./hosts/${hostName}/configuration.nix
|
||||||
./hosts/${hostName}/hardware-configuration.nix
|
./hosts/${hostName}/hardware-configuration.nix
|
||||||
./system/default.nix
|
./system/default.nix
|
||||||
({
|
({
|
||||||
config,
|
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
catppuccinVariant ? "Mocha",
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
scheme = "${tt-schemes}/base16/catppuccin-${lib.strings.toLower catppuccinVariant}.yaml";
|
|
||||||
nix = {
|
nix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.nixVersions.nix_2_19;
|
package = pkgs.nixVersions.nix_2_21;
|
||||||
settings = {
|
settings = {
|
||||||
cores = 0;
|
cores = 0;
|
||||||
max-jobs = "auto";
|
max-jobs = "auto";
|
||||||
|
@ -110,6 +83,17 @@
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
networking = {inherit hostName;};
|
networking = {inherit hostName;};
|
||||||
programs.${defaultUserShell}.enable = true;
|
programs.${defaultUserShell}.enable = true;
|
||||||
|
stylix.fonts = with iosevka-custom.outputs; rec {
|
||||||
|
serif = sansSerif;
|
||||||
|
sansSerif = {
|
||||||
|
name = names."iosevka-custom-aile";
|
||||||
|
package = packages.${system}."iosevka-custom-aile";
|
||||||
|
};
|
||||||
|
monospace = {
|
||||||
|
name = names."iosevka-custom-nerdfont";
|
||||||
|
package = packages.${system}."iosevka-custom-nerdfont";
|
||||||
|
};
|
||||||
|
};
|
||||||
system = {inherit stateVersion;};
|
system = {inherit stateVersion;};
|
||||||
users = {
|
users = {
|
||||||
defaultUserShell = pkgs.${defaultUserShell};
|
defaultUserShell = pkgs.${defaultUserShell};
|
||||||
|
@ -133,7 +117,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = {inherit (config) scheme;} // specialArgs;
|
extraSpecialArgs = specialArgs;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users = {
|
users = {
|
||||||
|
@ -178,7 +162,7 @@
|
||||||
systemModules = [
|
systemModules = [
|
||||||
./services/nix-serve.nix
|
./services/nix-serve.nix
|
||||||
./services/caddy.nix
|
./services/caddy.nix
|
||||||
./services/forgejo.nix
|
./services/gitea.nix
|
||||||
./services/grafana.nix
|
./services/grafana.nix
|
||||||
./services/minecraft.nix
|
./services/minecraft.nix
|
||||||
./services/sshd.nix
|
./services/sshd.nix
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{fonts, ...}: {
|
{config, ...}: {
|
||||||
programs.alacritty = let
|
programs.alacritty = let
|
||||||
catppuccin-mocha = builtins.fromTOML (builtins.readFile ./catppuccin-mocha.toml);
|
catppuccin-mocha = builtins.fromTOML (builtins.readFile ./catppuccin-mocha.toml);
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings =
|
settings = with config.stylix;
|
||||||
{
|
{
|
||||||
font = {
|
font = {
|
||||||
size = fonts.sizes.applications;
|
size = fonts.sizes.applications;
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
window = {
|
window = {
|
||||||
opacity = 0.8;
|
opacity = opacity.terminal;
|
||||||
dynamic_title = true;
|
dynamic_title = true;
|
||||||
padding = {
|
padding = {
|
||||||
x = 10;
|
x = 10;
|
||||||
|
|
|
@ -1,19 +1,20 @@
|
||||||
{
|
{
|
||||||
scheme,
|
config,
|
||||||
accentColour ? "base07",
|
accentColour ? "base07",
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
services.avizo = {
|
services.avizo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.default = with scheme; let
|
settings.default = with config.stylix;
|
||||||
accent = {
|
with config.lib.stylix.colors; let
|
||||||
r = scheme."${accentColour}-rgb-r";
|
accent = with config.lib.stylix; {
|
||||||
g = scheme."${accentColour}-rgb-g";
|
r = colors."${accentColour}-rgb-r";
|
||||||
b = scheme."${accentColour}-rgb-b";
|
g = colors."${accentColour}-rgb-g";
|
||||||
|
b = colors."${accentColour}-rgb-b";
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
background = "rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, 0.8)";
|
background = "rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, ${toString opacity.popups})";
|
||||||
bar-bg-color = "rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, 0.8)";
|
bar-bg-color = "rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, ${toString opacity.popups})";
|
||||||
bar-fg-color = "rgba(${base05-rgb-r}, ${base05-rgb-g}, ${base05-rgb-b}, 1.0)";
|
bar-fg-color = "rgba(${base05-rgb-r}, ${base05-rgb-g}, ${base05-rgb-b}, 1.0)";
|
||||||
border-color = "rgba(${accent.r}, ${accent.g}, ${accent.b}, 1.0)";
|
border-color = "rgba(${accent.r}, ${accent.g}, ${accent.b}, 1.0)";
|
||||||
image-opacity = "1.0";
|
image-opacity = "1.0";
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
catppuccinVariant ? "Mocha",
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
xdg.configFile = let
|
|
||||||
variants = ["Latte" "Frappe" "Macchiato" "Mocha"];
|
|
||||||
mkVariant = variant: let
|
|
||||||
fname = "catppuccin${variant}.tmTheme";
|
|
||||||
in {
|
|
||||||
name = "bat/themes/${fname}";
|
|
||||||
value = {source = ./. + "/${fname}";};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
builtins.listToAttrs
|
|
||||||
(lib.lists.forEach variants mkVariant);
|
|
||||||
programs.bat = {
|
|
||||||
enable = true;
|
|
||||||
config.theme = "catppuccin${catppuccinVariant}";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,11 +1,12 @@
|
||||||
{
|
{
|
||||||
scheme,
|
config,
|
||||||
accentColour ? "base07",
|
accentColour ? "base07",
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.bottom = {
|
programs.bottom = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.colors = with scheme.withHashtag; let
|
settings.colors = with config.lib.stylix;
|
||||||
|
with colors.withHashtag; let
|
||||||
rainbow = [red yellow green cyan blue magenta];
|
rainbow = [red yellow green cyan blue magenta];
|
||||||
in {
|
in {
|
||||||
table_header_color = base05;
|
table_header_color = base05;
|
||||||
|
@ -17,9 +18,9 @@
|
||||||
swap_color = blue;
|
swap_color = blue;
|
||||||
rx_color = green;
|
rx_color = green;
|
||||||
tx_color = blue;
|
tx_color = blue;
|
||||||
widget_title_color = scheme.withHashtag.${accentColour};
|
widget_title_color = colors.withHashtag.${accentColour};
|
||||||
border_color = base02;
|
border_color = base02;
|
||||||
highlighted_border_color = scheme.withHashtag.${accentColour};
|
highlighted_border_color = colors.withHashtag.${accentColour};
|
||||||
text_color = base05;
|
text_color = base05;
|
||||||
graph_color = base04;
|
graph_color = base04;
|
||||||
cursor_color = base02;
|
cursor_color = base02;
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{scheme, ...}: {
|
{config, ...}: {
|
||||||
programs.cava = {
|
programs.cava = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
color = with scheme.withHashtag; {
|
color = with config.lib.stylix.colors; {
|
||||||
gradient = 1;
|
gradient = 1;
|
||||||
gradient_count = 6;
|
gradient_count = 6;
|
||||||
gradient_color_1 = "'${red}'";
|
gradient_color_1 = "'${withHashtag.red}'";
|
||||||
gradient_color_2 = "'${yellow}'";
|
gradient_color_2 = "'${withHashtag.yellow}'";
|
||||||
gradient_color_3 = "'${green}'";
|
gradient_color_3 = "'${withHashtag.green}'";
|
||||||
gradient_color_4 = "'${cyan}'";
|
gradient_color_4 = "'${withHashtag.cyan}'";
|
||||||
gradient_color_5 = "'${blue}'";
|
gradient_color_5 = "'${withHashtag.blue}'";
|
||||||
gradient_color_6 = "'${magenta}'";
|
gradient_color_6 = "'${withHashtag.magenta}'";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./bat/default.nix
|
|
||||||
./git/default.nix
|
./git/default.nix
|
||||||
./ssh/default.nix
|
./ssh/default.nix
|
||||||
./nushell/default.nix
|
./nushell/default.nix
|
||||||
|
@ -9,9 +12,21 @@
|
||||||
./bottom/default.nix
|
./bottom/default.nix
|
||||||
./scripts/default.nix
|
./scripts/default.nix
|
||||||
];
|
];
|
||||||
|
stylix.targets = {
|
||||||
|
bat.enable = true;
|
||||||
|
fzf.enable = true;
|
||||||
|
zellij.enable = true;
|
||||||
|
};
|
||||||
programs = {
|
programs = {
|
||||||
bash.enable = true;
|
bash.enable = true;
|
||||||
carapace.enable = true;
|
carapace.enable = true;
|
||||||
|
bat = {
|
||||||
|
enable = true;
|
||||||
|
config.theme =
|
||||||
|
if config.stylix.targets.bat.enable
|
||||||
|
then "base16-stylix"
|
||||||
|
else "dracula";
|
||||||
|
};
|
||||||
eza = {
|
eza = {
|
||||||
enable = true;
|
enable = true;
|
||||||
git = true;
|
git = true;
|
||||||
|
@ -35,5 +50,9 @@
|
||||||
changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d";
|
changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d";
|
||||||
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
|
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
|
||||||
};
|
};
|
||||||
|
zellij = {
|
||||||
|
enable = true;
|
||||||
|
settings.default_layout = "compact";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
fonts,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [../git/default.nix ../prog/default.nix];
|
imports = [../git/default.nix ../prog/default.nix];
|
||||||
|
@ -11,12 +10,13 @@
|
||||||
# git clone https://git.xenia.me.uk/pixelifytica/emacs.git ~/.config/emacs
|
# git clone https://git.xenia.me.uk/pixelifytica/emacs.git ~/.config/emacs
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.emacs29-pgtk;
|
package = pkgs.emacs29-pgtk;
|
||||||
extraConfig = let
|
extraConfig = with builtins;
|
||||||
|
with config; let
|
||||||
shell = "${pkgs.zsh}/bin/zsh";
|
shell = "${pkgs.zsh}/bin/zsh";
|
||||||
font = "${fonts.monospace.name}-${toString fonts.sizes.applications}";
|
font = "${stylix.fonts.monospace.name}-${toString stylix.fonts.sizes.applications}";
|
||||||
fixed-font-family = "${fonts.monospace.name}";
|
fixed-font-family = "${stylix.fonts.monospace.name}";
|
||||||
variable-font-family = "${fonts.sansSerif.name}";
|
variable-font-family = "${stylix.fonts.sansSerif.name}";
|
||||||
alpha = "80";
|
alpha = "${toString (floor (mul stylix.opacity.applications 100))}";
|
||||||
in ''
|
in ''
|
||||||
(customize-set-variable 'shell-file-name "${shell}")
|
(customize-set-variable 'shell-file-name "${shell}")
|
||||||
(add-to-list 'initial-frame-alist '(font . "${font}"))
|
(add-to-list 'initial-frame-alist '(font . "${font}"))
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{config, ...}: {
|
||||||
fonts,
|
|
||||||
scheme,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.foot = {
|
programs.foot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
server.enable = true;
|
server.enable = true;
|
||||||
|
@ -11,7 +7,7 @@
|
||||||
# term = "xterm-256color";
|
# term = "xterm-256color";
|
||||||
title = "foot";
|
title = "foot";
|
||||||
locked-title = "no";
|
locked-title = "no";
|
||||||
font = with fonts; "${monospace.name}:size=${toString sizes.applications}";
|
font = with config.stylix.fonts; "${monospace.name}:size=${toString sizes.applications}";
|
||||||
dpi-aware = "no";
|
dpi-aware = "no";
|
||||||
pad = "10x10";
|
pad = "10x10";
|
||||||
};
|
};
|
||||||
|
@ -22,8 +18,8 @@
|
||||||
};
|
};
|
||||||
cursor = {blink = "yes";};
|
cursor = {blink = "yes";};
|
||||||
mouse = {hide-when-typing = "no";};
|
mouse = {hide-when-typing = "no";};
|
||||||
colors = with scheme; rec {
|
colors = with config.lib.stylix.colors; rec {
|
||||||
alpha = 0.8;
|
alpha = config.stylix.opacity.terminal;
|
||||||
background = base00;
|
background = base00;
|
||||||
foreground = base05;
|
foreground = base05;
|
||||||
regular0 = base02;
|
regular0 = base02;
|
||||||
|
|
|
@ -2,19 +2,17 @@
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
fonts,
|
|
||||||
scheme,
|
|
||||||
accentColour ? "base07",
|
accentColour ? "base07",
|
||||||
catppuccinVariant ? "Mocha",
|
catppuccinVariant ? "Mocha",
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
stylix.targets.xresources.enable = true;
|
||||||
imports = [
|
imports = [
|
||||||
../default.nix
|
../default.nix
|
||||||
../email/default.nix
|
../email/default.nix
|
||||||
../password-store/default.nix
|
../password-store/default.nix
|
||||||
../waybar/default.nix
|
../waybar/default.nix
|
||||||
../rofi/default.nix
|
../rofi/default.nix
|
||||||
../swaylock/default.nix
|
|
||||||
../swaync/default.nix
|
../swaync/default.nix
|
||||||
../avizo/default.nix
|
../avizo/default.nix
|
||||||
../alacritty/default.nix
|
../alacritty/default.nix
|
||||||
|
@ -39,7 +37,7 @@
|
||||||
zellij.settings.copy_command = "wl-copy";
|
zellij.settings.copy_command = "wl-copy";
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
gpg-agent.pinentryFlavor = "gtk2";
|
gpg-agent.pinentryPackage = pkgs.pinentry-gtk2;
|
||||||
avizo.enable = true;
|
avizo.enable = true;
|
||||||
syncthing.enable = true;
|
syncthing.enable = true;
|
||||||
udiskie = {
|
udiskie = {
|
||||||
|
@ -61,13 +59,6 @@
|
||||||
};
|
};
|
||||||
name = "Papirus-Dark";
|
name = "Papirus-Dark";
|
||||||
};
|
};
|
||||||
cursorTheme = let
|
|
||||||
variant = "${lib.strings.toLower catppuccinVariant}Dark";
|
|
||||||
in {
|
|
||||||
package = pkgs.catppuccin-cursors.${variant};
|
|
||||||
name = "Catppuccin-${catppuccinVariant}-Dark-Cursors";
|
|
||||||
size = 32;
|
|
||||||
};
|
|
||||||
theme = {
|
theme = {
|
||||||
package = with lib.strings;
|
package = with lib.strings;
|
||||||
pkgs.catppuccin-gtk.override {
|
pkgs.catppuccin-gtk.override {
|
||||||
|
@ -90,8 +81,8 @@
|
||||||
"XDG_SESSION_DESKTOP=Hyprland"
|
"XDG_SESSION_DESKTOP=Hyprland"
|
||||||
"GDK_BACKEND=wayland,x11"
|
"GDK_BACKEND=wayland,x11"
|
||||||
"GTK_THEME,${gtk.theme.name}"
|
"GTK_THEME,${gtk.theme.name}"
|
||||||
"XCURSOR_THEME,${gtk.cursorTheme.name}"
|
"XCURSOR_THEME,${stylix.cursor.name}"
|
||||||
"XCURSOR_SIZE,${toString gtk.cursorTheme.size}"
|
"XCURSOR_SIZE,${toString stylix.cursor.size}"
|
||||||
"QT_AUTO_SCREEN_SCALE_FACTOR,1"
|
"QT_AUTO_SCREEN_SCALE_FACTOR,1"
|
||||||
"QT_QPA_PLATFORM,wayland"
|
"QT_QPA_PLATFORM,wayland"
|
||||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||||
|
@ -100,7 +91,7 @@
|
||||||
];
|
];
|
||||||
exec-once = with config; [
|
exec-once = with config; [
|
||||||
"systemctl --user import-environment WAYLAND_DISPLAY QT_QPA_PLATFORMTHEME"
|
"systemctl --user import-environment WAYLAND_DISPLAY QT_QPA_PLATFORMTHEME"
|
||||||
"${wayland.windowManager.hyprland.finalPackage}/bin/hyprctl setcursor ${gtk.cursorTheme.name} ${toString gtk.cursorTheme.size}"
|
"${wayland.windowManager.hyprland.finalPackage}/bin/hyprctl setcursor ${stylix.cursor.name} ${toString stylix.cursor.name}"
|
||||||
"${pkgs.swaynotificationcenter}/bin/swaync"
|
"${pkgs.swaynotificationcenter}/bin/swaync"
|
||||||
"${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
|
"${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
|
||||||
"${pkgs.protonmail-bridge}/bin/protonmail-bridge -n"
|
"${pkgs.protonmail-bridge}/bin/protonmail-bridge -n"
|
||||||
|
@ -136,8 +127,9 @@
|
||||||
smart_resizing = false;
|
smart_resizing = false;
|
||||||
drop_at_cursor = true;
|
drop_at_cursor = true;
|
||||||
};
|
};
|
||||||
general = with scheme; {
|
general = with config.lib.stylix;
|
||||||
"col.active_border" = "rgb(${scheme.${accentColour}})";
|
with colors; {
|
||||||
|
"col.active_border" = "rgb(${colors.${accentColour}})";
|
||||||
"col.inactive_border" = "rgb(${base03})";
|
"col.inactive_border" = "rgb(${base03})";
|
||||||
gaps_in = 5;
|
gaps_in = 5;
|
||||||
gaps_out = 10;
|
gaps_out = 10;
|
||||||
|
@ -145,7 +137,7 @@
|
||||||
cursor_inactive_timeout = 0;
|
cursor_inactive_timeout = 0;
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
};
|
};
|
||||||
decoration = with scheme; {
|
decoration = with config.lib.stylix.colors; {
|
||||||
rounding = 10;
|
rounding = 10;
|
||||||
"col.shadow" = "rgba(0d${base00})";
|
"col.shadow" = "rgba(0d${base00})";
|
||||||
drop_shadow = "yes";
|
drop_shadow = "yes";
|
||||||
|
@ -197,9 +189,10 @@
|
||||||
++ (lib.lists.forEach layers ignorealpha);
|
++ (lib.lists.forEach layers ignorealpha);
|
||||||
windowrule = [
|
windowrule = [
|
||||||
# Workspace binds
|
# Workspace binds
|
||||||
"workspace 2, firefox"
|
"workspace 1, com.obsproject.Studio"
|
||||||
"workspace 3, (libreoffice|soffice)(.*)"
|
"workspace 2, (libreoffice|soffice)(.*)"
|
||||||
"workspace 4, (com.obsproject.Studio|WebCord|signal|whatsapp-for-linux|teams-for-linux)"
|
"workspace 3, (WebCord|signal|whatsapp-for-linux|teams-for-linux)"
|
||||||
|
"workspace 4, (x2goclient|Nxplayer.bin)"
|
||||||
"workspace 5 silent, (steam|org.prismlauncher.PrismLauncher)" # Keep silent to avoid popups taking focus
|
"workspace 5 silent, (steam|org.prismlauncher.PrismLauncher)" # Keep silent to avoid popups taking focus
|
||||||
|
|
||||||
# Float + move system windows
|
# Float + move system windows
|
||||||
|
@ -227,8 +220,7 @@
|
||||||
"pin, title:Picture-in-Picture,class:firefox"
|
"pin, title:Picture-in-Picture,class:firefox"
|
||||||
|
|
||||||
# LibreOffice
|
# LibreOffice
|
||||||
"nofullscreenrequest, class:(libreoffice|soffice)(.*)"
|
"suppressevent fullscreen maximize, class:(libreoffice|soffice)(.*)"
|
||||||
"nomaximizerequest, class:(libreoffice|soffice)(.*)"
|
|
||||||
"float, title:Open,class:(libreoffice|soffice)(.*)"
|
"float, title:Open,class:(libreoffice|soffice)(.*)"
|
||||||
|
|
||||||
# Steam
|
# Steam
|
||||||
|
@ -240,8 +232,7 @@
|
||||||
"size 800 600, title:Steam Settings,class:steam"
|
"size 800 600, title:Steam Settings,class:steam"
|
||||||
|
|
||||||
# X2Go / NoMachine
|
# X2Go / NoMachine
|
||||||
"nofullscreenrequest, class:x2goclient|Nxplayer.bin"
|
"suppressevent fullscreen maximize, class:x2goclient|Nxplayer.bin"
|
||||||
"nomaximizerequest, class:x2goclient|Nxplayer.bin"
|
|
||||||
"float, title:(X2Go Client|Freia|Heimdall), class:x2goclient"
|
"float, title:(X2Go Client|Freia|Heimdall), class:x2goclient"
|
||||||
"float, title:NoMachine, class:Nxplayer.bin"
|
"float, title:NoMachine, class:Nxplayer.bin"
|
||||||
"center, title:(X2Go Client|Freia|Heimdall), class:x2goclient"
|
"center, title:(X2Go Client|Freia|Heimdall), class:x2goclient"
|
||||||
|
@ -273,8 +264,7 @@
|
||||||
# Open Hyprland wiki at correct version number
|
# Open Hyprland wiki at correct version number
|
||||||
"CTRL_SHIFT, H, exec, xdg-open \"https://wiki.hyprland.org/$(hyprctl version -j | ${pkgs.jq}/bin/jq $args.commit | ${pkgs.gnused}/bin/sed s/v// | ${pkgs.gnused}/bin/sed s/\\\"//g)\""
|
"CTRL_SHIFT, H, exec, xdg-open \"https://wiki.hyprland.org/$(hyprctl version -j | ${pkgs.jq}/bin/jq $args.commit | ${pkgs.gnused}/bin/sed s/v// | ${pkgs.gnused}/bin/sed s/\\\"//g)\""
|
||||||
|
|
||||||
# "SUPER, F1, exec, ${pkgs.hyprlock}/bin/hyprlock" # Until added to nixpkgs
|
"SUPER, F1, exec, ${pkgs.hyprlock}/bin/hyprlock"
|
||||||
"SUPER, F1, exec, ${swaylock.package}/bin/swaylock --screenshots --clock --indicator --grace-no-mouse"
|
|
||||||
"SUPER, Q, killactive,"
|
"SUPER, Q, killactive,"
|
||||||
"SUPER SHIFT, Q, exec, pkill rofi || ${rofi.finalPackage}/bin/rofi -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu"
|
"SUPER SHIFT, Q, exec, pkill rofi || ${rofi.finalPackage}/bin/rofi -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu"
|
||||||
"SUPER, V, togglefloating"
|
"SUPER, V, togglefloating"
|
||||||
|
@ -372,20 +362,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"hypr/hyprpaper.conf".text = let
|
"hypr/hyprpaper.conf".text = ''
|
||||||
image = ../../wallpapers/waves/cat-waves.png;
|
preload = ${config.stylix.image}
|
||||||
in ''
|
wallpaper = ,${config.stylix.image}
|
||||||
preload = ${image}
|
|
||||||
wallpaper = ,${image}
|
|
||||||
'';
|
'';
|
||||||
"hypr/hyprlock.conf".text = with scheme; let
|
"hypr/hyprlock.conf".text = with config.lib.stylix.colors; let
|
||||||
font = fonts.sansSerif.name;
|
font = config.stylix.fonts.sansSerif.name;
|
||||||
accent = scheme.${accentColour};
|
accent = config.lib.stylix.colors.${accentColour};
|
||||||
in ''
|
in ''
|
||||||
# GENERAL
|
# GENERAL
|
||||||
general {
|
general {
|
||||||
disable_loading_bar = true
|
disable_loading_bar = true
|
||||||
hide_cursor = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# BACKGROUND
|
# BACKGROUND
|
||||||
|
@ -421,12 +408,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
# USER
|
# USER
|
||||||
image {
|
label {
|
||||||
monitor =
|
monitor =
|
||||||
path = ${../../picrew.png}
|
text = Logging in as <span foreground="##${accent}">$USER</span>
|
||||||
size = 100
|
color = 0xff${base05}
|
||||||
border_color = 0xff${accent}
|
font_size = 25
|
||||||
position = 0, 75
|
font_family = ${font}
|
||||||
|
position = 0, 50
|
||||||
halign = center
|
halign = center
|
||||||
valign = center
|
valign = center
|
||||||
}
|
}
|
||||||
|
@ -443,7 +431,7 @@
|
||||||
inner_color = 0xff${base00}
|
inner_color = 0xff${base00}
|
||||||
font_color = 0xff${base05}
|
font_color = 0xff${base05}
|
||||||
fade_on_empty = false
|
fade_on_empty = false
|
||||||
placeholder_text = <span foreground="##${base04}"><i> Logged in as </i><span foreground="##${accent}">$USER</span></span>
|
placeholder_text = <i><span foreground="##${base04}">Input Password...</span></i>
|
||||||
hide_input = false
|
hide_input = false
|
||||||
position = 0, -50
|
position = 0, -50
|
||||||
halign = center
|
halign = center
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
fonts,
|
|
||||||
scheme,
|
|
||||||
accentColour ? "base07",
|
accentColour ? "base07",
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = [pkgs.nyxt];
|
home.packages = [pkgs.nyxt];
|
||||||
xdg = {
|
xdg = {
|
||||||
configFile = {
|
configFile = {
|
||||||
"nyxt/config.lisp".text = with scheme.withHashtag; let
|
"nyxt/config.lisp".text = with config.stylix;
|
||||||
accent = scheme.withHashtag.${accentColour};
|
with config.lib.stylix.colors.withHashtag; let
|
||||||
|
accent = config.lib.stylix.colors.withHashtag.${accentColour};
|
||||||
in ''
|
in ''
|
||||||
;; Import custom configuration
|
;; Import custom configuration
|
||||||
(nyxt::load-lisp "${./config.lisp}")
|
(nyxt::load-lisp "${./config.lisp}")
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
maxCacheTtl = 86400;
|
maxCacheTtl = 86400;
|
||||||
defaultCacheTtl = maxCacheTtl;
|
defaultCacheTtl = maxCacheTtl;
|
||||||
defaultCacheTtlSsh = maxCacheTtl;
|
defaultCacheTtlSsh = maxCacheTtl;
|
||||||
pinentryFlavor = lib.mkDefault "curses";
|
pinentryPackage = lib.mkDefault pkgs.pinentry-curses;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
no-allow-external-cache
|
no-allow-external-cache
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
fonts,
|
|
||||||
scheme,
|
|
||||||
accentColour ? "base07",
|
accentColour ? "base07",
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = fonts.monospace.name;
|
font = config.stylix.fonts.monospace.name;
|
||||||
location = "center";
|
location = "center";
|
||||||
pass = {
|
pass = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -35,9 +33,10 @@
|
||||||
display-combi = " Combi ";
|
display-combi = " Combi ";
|
||||||
};
|
};
|
||||||
theme = with builtins;
|
theme = with builtins;
|
||||||
with scheme; let
|
with config.stylix;
|
||||||
|
with config.lib.stylix.colors; let
|
||||||
inherit (config.lib.formats.rasi) mkLiteral;
|
inherit (config.lib.formats.rasi) mkLiteral;
|
||||||
bg = mkLiteral "rgba (${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, 80%)";
|
bg = mkLiteral "rgba (${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, ${toString (floor (mul opacity.popups 100))}%)";
|
||||||
bg2 = mkLiteral "rgba (${base01-rgb-r}, ${base01-rgb-g}, ${base01-rgb-b}, 100%)";
|
bg2 = mkLiteral "rgba (${base01-rgb-r}, ${base01-rgb-g}, ${base01-rgb-b}, 100%)";
|
||||||
fg = mkLiteral withHashtag.base05;
|
fg = mkLiteral withHashtag.base05;
|
||||||
fg2 = mkLiteral withHashtag.base04;
|
fg2 = mkLiteral withHashtag.base04;
|
||||||
|
@ -47,7 +46,7 @@
|
||||||
"*" = {
|
"*" = {
|
||||||
background-color = mkLiteral "transparent";
|
background-color = mkLiteral "transparent";
|
||||||
text-color = fg;
|
text-color = fg;
|
||||||
font = with fonts; "${monospace.name} ${toString sizes.popups}";
|
font = with config.stylix.fonts; "${monospace.name} ${toString sizes.popups}";
|
||||||
};
|
};
|
||||||
|
|
||||||
window = {
|
window = {
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
forwardAgent = true;
|
forwardAgent = true;
|
||||||
|
addKeysToAgent = "yes";
|
||||||
compression = true;
|
compression = true;
|
||||||
serverAliveInterval = 15;
|
serverAliveInterval = 15;
|
||||||
serverAliveCountMax = 3;
|
serverAliveCountMax = 3;
|
||||||
controlMaster = "auto";
|
controlMaster = "auto";
|
||||||
controlPersist = "10s";
|
controlPersist = "10s";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
AddKeysToAgent=yes
|
|
||||||
SetEnv TERM=xterm-256color
|
SetEnv TERM=xterm-256color
|
||||||
'';
|
'';
|
||||||
matchBlocks = {
|
matchBlocks = {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
stylix.targets.swaylock.enable = true;
|
||||||
programs.swaylock = {
|
programs.swaylock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.swaylock-effects;
|
package = pkgs.swaylock-effects;
|
||||||
|
@ -15,7 +16,6 @@
|
||||||
show-failed-attempts = true;
|
show-failed-attempts = true;
|
||||||
effect-blur = with config.wayland.windowManager.hyprland.settings.decoration.blur; "${toString size}x${toString passes}";
|
effect-blur = with config.wayland.windowManager.hyprland.settings.decoration.blur; "${toString size}x${toString passes}";
|
||||||
effect-vignette = "0.5:0.5";
|
effect-vignette = "0.5:0.5";
|
||||||
grace = 2;
|
|
||||||
fade-in = 0.2;
|
fade-in = 0.2;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
fonts,
|
|
||||||
scheme,
|
|
||||||
accentColour ? "base07",
|
accentColour ? "base07",
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = [pkgs.swaynotificationcenter];
|
home.packages = [pkgs.swaynotificationcenter];
|
||||||
xdg.configFile."swaync/style.css".text = with scheme; ''
|
xdg.configFile."swaync/style.css".text = with config.stylix;
|
||||||
|
with config.lib.stylix.colors; ''
|
||||||
* {
|
* {
|
||||||
all: unset;
|
all: unset;
|
||||||
font-size: ${toString fonts.sizes.desktop}px;
|
font-size: ${toString config.stylix.fonts.sizes.desktop}px;
|
||||||
font-family: "${fonts.monospace.name}";
|
font-family: "${config.stylix.fonts.monospace.name}";
|
||||||
transition: 200ms;
|
transition: 200ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
border: 1px solid ${withHashtag.${accentColour}};
|
border: 1px solid ${withHashtag.${accentColour}};
|
||||||
margin: 18px;
|
margin: 18px;
|
||||||
background-color: rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, 0.8);
|
background-color: rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, ${toString opacity.popups});
|
||||||
color: ${withHashtag.base05};
|
color: ${withHashtag.base05};
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
@ -141,7 +141,7 @@
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
border: 1px solid ${withHashtag.${accentColour}};
|
border: 1px solid ${withHashtag.${accentColour}};
|
||||||
margin: 18px;
|
margin: 18px;
|
||||||
background-color: rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, 0.8);
|
background-color: rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, ${toString opacity.popups});
|
||||||
color: ${withHashtag.base05};
|
color: ${withHashtag.base05};
|
||||||
padding: 14px;
|
padding: 14px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
fonts,
|
|
||||||
scheme,
|
|
||||||
accentColour ? "base07",
|
accentColour ? "base07",
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
@ -18,11 +16,10 @@
|
||||||
# Layout
|
# Layout
|
||||||
"modules-left" = [
|
"modules-left" = [
|
||||||
"hyprland/workspaces"
|
"hyprland/workspaces"
|
||||||
];
|
|
||||||
"modules-center" = [
|
|
||||||
"hyprland/window"
|
"hyprland/window"
|
||||||
"mpris"
|
"mpris"
|
||||||
];
|
];
|
||||||
|
"modules-center" = [];
|
||||||
"modules-right" = [
|
"modules-right" = [
|
||||||
"custom/notification"
|
"custom/notification"
|
||||||
"pulseaudio"
|
"pulseaudio"
|
||||||
|
@ -61,9 +58,9 @@
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = {
|
format-icons = {
|
||||||
"1" = " ";
|
"1" = " ";
|
||||||
"2" = " ";
|
"2" = " ";
|
||||||
"3" = " ";
|
"3" = " ";
|
||||||
"4" = " ";
|
"4" = " ";
|
||||||
"5" = " ";
|
"5" = " ";
|
||||||
"6" = " ";
|
"6" = " ";
|
||||||
"7" = " ";
|
"7" = " ";
|
||||||
|
@ -74,8 +71,6 @@
|
||||||
urgent = " ";
|
urgent = " ";
|
||||||
};
|
};
|
||||||
show-special = false;
|
show-special = false;
|
||||||
sort-by-number = true;
|
|
||||||
all-outputs = false;
|
|
||||||
persistent-workspaces = {
|
persistent-workspaces = {
|
||||||
"1" = [];
|
"1" = [];
|
||||||
"2" = [];
|
"2" = [];
|
||||||
|
@ -85,17 +80,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
mpris = {
|
mpris = {
|
||||||
"format" = "{player_icon} {status_icon} {artist} - {title}";
|
"format" = "| {player_icon} {status_icon} {artist} - {title}";
|
||||||
"tooltip-format" = "{player_icon} ({player}) {dynamic}";
|
"tooltip-format" = "{player_icon} ({player}) {dynamic}";
|
||||||
"title-len" = 48;
|
|
||||||
"interval" = 1;
|
"interval" = 1;
|
||||||
"dynamic-order" = [
|
"dynamic-order" = ["album" "artist" "title" "position" "length"];
|
||||||
"album"
|
|
||||||
"artist"
|
|
||||||
"title"
|
|
||||||
"position"
|
|
||||||
"length"
|
|
||||||
];
|
|
||||||
"player-icons" = {
|
"player-icons" = {
|
||||||
"default" = " ";
|
"default" = " ";
|
||||||
"emms" = " ";
|
"emms" = " ";
|
||||||
|
@ -238,13 +226,14 @@
|
||||||
"return-type" = "json";
|
"return-type" = "json";
|
||||||
};
|
};
|
||||||
tray = {
|
tray = {
|
||||||
icon-size = fonts.sizes.desktop;
|
icon-size = config.stylix.fonts.sizes.desktop;
|
||||||
show-passive-items = true;
|
show-passive-items = true;
|
||||||
spacing = 5;
|
spacing = 5;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style = with scheme.withHashtag; let
|
style = with config.stylix;
|
||||||
accent = scheme.withHashtag.${accentColour};
|
with config.lib.stylix.colors.withHashtag; let
|
||||||
|
accent = config.lib.stylix.colors.withHashtag.${accentColour};
|
||||||
in ''
|
in ''
|
||||||
* {
|
* {
|
||||||
all: unset;
|
all: unset;
|
||||||
|
@ -258,7 +247,7 @@
|
||||||
|
|
||||||
window > box {
|
window > box {
|
||||||
color: ${base05};
|
color: ${base05};
|
||||||
background: alpha(${base00}, 0.8);
|
background: alpha(${base00}, ${toString opacity.desktop});
|
||||||
margin: 5px 10px 0px;
|
margin: 5px 10px 0px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
border: 1px solid ${accent};
|
border: 1px solid ${accent};
|
||||||
|
@ -267,7 +256,7 @@
|
||||||
|
|
||||||
tooltip {
|
tooltip {
|
||||||
/* TODO make transparent when I can fix the blurls issue */
|
/* TODO make transparent when I can fix the blurls issue */
|
||||||
/* background: alpha(${base00}, 0.8); */
|
/* background: alpha(${base00}, ${toString opacity.popups}); */
|
||||||
background: ${base00};
|
background: ${base00};
|
||||||
border: 1px solid ${accent};
|
border: 1px solid ${accent};
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
enableAutosuggestions = true;
|
autosuggestion.enable = true;
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
enableVteIntegration = true;
|
enableVteIntegration = true;
|
||||||
autocd = true;
|
autocd = true;
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
{
|
{config, ...}: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
system.autoUpgrade = {
|
system.autoUpgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
flake = "git+${config.nix.registry.nixos.to.url}";
|
flake = "git+${config.nix.registry.nixos.to.url}";
|
||||||
flags = ["-L"]; # Print build logs
|
flags = [
|
||||||
|
"--update-input"
|
||||||
|
"nixpkgs"
|
||||||
|
"--no-write-lock-file"
|
||||||
|
"-L" # print build logs
|
||||||
|
];
|
||||||
dates = "02:00";
|
dates = "02:00";
|
||||||
randomizedDelaySec = "15min";
|
randomizedDelaySec = "15min";
|
||||||
allowReboot = true;
|
allowReboot = true;
|
||||||
|
@ -16,5 +17,4 @@
|
||||||
upper = "05:00";
|
upper = "05:00";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
environment.systemPackages = with pkgs; [nil];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
workspace = [
|
windowrule = [
|
||||||
"1, monitor:desc:Acer Technologies ED270R TJMEE0043W01, default:true"
|
"monitor HDMI-A-2, (signal|whatsapp-for-linux|teams-for-linux)"
|
||||||
"2, monitor:desc:Ancor Communications Inc VS278 FALMQS032358, default:true"
|
"monitor DP-1, steam"
|
||||||
"3, monitor:desc:Acer Technologies ED270R TJMEE0043W01"
|
"monitor HDMI-A-2, (WebCord|com.obsproject.Studio)"
|
||||||
"4, monitor:desc:Ancor Communications Inc VS278 FALMQS032358"
|
|
||||||
"5, monitor:desc:Acer Technologies ED270R TJMEE0043W01"
|
|
||||||
];
|
];
|
||||||
monitor = [
|
monitor = [
|
||||||
"desc:Acer Technologies ED270R TJMEE0043W01,highrr,0x0,1.00,vrr,2"
|
"desc:Acer Technologies ED270R TJMEE0043W01,highrr,0x0,1.00,vrr,2"
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
{...}: {
|
|
||||||
imports = [./caddy.nix];
|
|
||||||
services = {
|
|
||||||
forgejo = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
server = {
|
|
||||||
ROOT_URL = "https://git.xenia.me.uk";
|
|
||||||
DOMAIN = "git.xenia.me.uk";
|
|
||||||
HTTP_ADDR = "127.0.0.1";
|
|
||||||
HTTP_PORT = 3100;
|
|
||||||
DISABLE_SSH = true;
|
|
||||||
};
|
|
||||||
ui = {DEFAULT_THEME = "auto";};
|
|
||||||
admin = {DISABLE_REGULAR_ORG_CREATION = true;};
|
|
||||||
service = {DISABLE_REGISTRATION = true;};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
caddy.virtualHosts."git.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:3100";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,9 +1,5 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
imports = [./registry.nix ./stylix.nix];
|
||||||
fonts,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [./registry.nix];
|
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
|
@ -88,23 +84,11 @@
|
||||||
};
|
};
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
fonts.serif.package
|
|
||||||
fonts.sansSerif.package
|
|
||||||
fonts.monospace.package
|
|
||||||
fonts.emoji.package
|
|
||||||
(nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) # Status bar
|
(nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) # Status bar
|
||||||
emacs-all-the-icons-fonts # Emacs
|
emacs-all-the-icons-fonts # Emacs
|
||||||
weather-icons # Emacs
|
weather-icons # Emacs
|
||||||
lmodern # LaTeX
|
lmodern # LaTeX
|
||||||
];
|
];
|
||||||
fontconfig = {
|
fontconfig.enable = true;
|
||||||
enable = true;
|
|
||||||
defaultFonts = {
|
|
||||||
serif = [fonts.serif.name];
|
|
||||||
sansSerif = [fonts.sansSerif.name];
|
|
||||||
monospace = [fonts.monospace.name];
|
|
||||||
emoji = [fonts.emoji.name];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
hunspellDicts.en_GB-large
|
hunspellDicts.en_GB-large
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
inkscape
|
inkscape
|
||||||
noson
|
|
||||||
webcord
|
webcord
|
||||||
signal-desktop
|
signal-desktop
|
||||||
whatsapp-for-linux
|
whatsapp-for-linux
|
||||||
|
@ -51,10 +50,7 @@
|
||||||
options = "ctrl:nocaps";
|
options = "ctrl:nocaps";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs = {
|
programs.dconf.enable = true;
|
||||||
dconf.enable = true;
|
|
||||||
noisetorch.enable = true;
|
|
||||||
};
|
|
||||||
gtk.iconCache.enable = true;
|
gtk.iconCache.enable = true;
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim";
|
GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim";
|
||||||
};
|
};
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
swaylock-effects
|
hyprlock
|
||||||
hyprpaper
|
hyprpaper
|
||||||
xdg-utils
|
xdg-utils
|
||||||
wtype
|
wtype
|
||||||
|
@ -28,10 +28,7 @@
|
||||||
streamlink
|
streamlink
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
security.pam.services = {
|
security.pam.services.hyprlock = {};
|
||||||
swaylock = {};
|
|
||||||
hyprlock = {};
|
|
||||||
};
|
|
||||||
services = {
|
services = {
|
||||||
xserver.enable = false;
|
xserver.enable = false;
|
||||||
blueman.enable = true;
|
blueman.enable = true;
|
||||||
|
|
44
system/stylix.nix
Normal file
44
system/stylix.nix
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
catppuccinVariant ? "Mocha",
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
stylix = {
|
||||||
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-${lib.strings.toLower catppuccinVariant}.yaml";
|
||||||
|
autoEnable = false;
|
||||||
|
targets = {
|
||||||
|
chromium.enable = true;
|
||||||
|
console.enable = true;
|
||||||
|
};
|
||||||
|
image = ../wallpapers/waves/cat-waves.png;
|
||||||
|
polarity = "dark";
|
||||||
|
opacity = let
|
||||||
|
default = 0.80;
|
||||||
|
in {
|
||||||
|
applications = default;
|
||||||
|
desktop = default;
|
||||||
|
popups = default;
|
||||||
|
terminal = default;
|
||||||
|
};
|
||||||
|
cursor = let
|
||||||
|
variant = "${lib.strings.toLower catppuccinVariant}Dark";
|
||||||
|
in {
|
||||||
|
package = pkgs.catppuccin-cursors.${variant};
|
||||||
|
name = "Catppuccin-${catppuccinVariant}-Dark-Cursors";
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
sizes = {
|
||||||
|
applications = 16;
|
||||||
|
desktop = 20;
|
||||||
|
popups = 20;
|
||||||
|
terminal = 16;
|
||||||
|
};
|
||||||
|
emoji = {
|
||||||
|
name = "EmojiOne Color";
|
||||||
|
package = pkgs.emojione;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
homeManagerIntegration.followSystem = true;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue