Compare commits
177 commits
add_niri_c
...
main
1
.gitignore
vendored
|
@ -7,3 +7,4 @@
|
|||
__pycache__
|
||||
.direnv
|
||||
*.html
|
||||
/result
|
||||
|
|
5
.pre-commit-config.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
repos:
|
||||
- repo: https://github.com/gitleaks/gitleaks
|
||||
rev: v8.18.4
|
||||
hooks:
|
||||
- id: gitleaks
|
10
Makefile
|
@ -1,9 +1,7 @@
|
|||
.PHONY: default build switch
|
||||
.PHONY: build
|
||||
|
||||
default: build
|
||||
USER := $(shell whoami)
|
||||
HOST := $(shell hostname)
|
||||
|
||||
build:
|
||||
nix run . -- build --flake . --show-trace
|
||||
|
||||
switch:
|
||||
nix run . -- switch --flake . --show-trace
|
||||
nix build .#homeConfigurations."$(USER)@$(HOST)".activationPackage
|
||||
|
|
27
README.org
|
@ -18,8 +18,7 @@ To set up without cloning the repository, run:
|
|||
gpg -a --export > publickeys.asc
|
||||
gpg -a --export-secret-keys > privatekeys.asc
|
||||
# Import key on new machine
|
||||
gpg --import privatekeys.asc
|
||||
gpg --import publickeys.asc
|
||||
gpg --import privatekeys.asc; gpg --import publickeys.asc
|
||||
# Edit (for each key) to set trust
|
||||
gpg --edit-key evie@xenia.me.uk
|
||||
#+end_src
|
||||
|
@ -30,23 +29,9 @@ To set up without cloning the repository, run:
|
|||
* Email setup
|
||||
** Proton
|
||||
*** Bridge
|
||||
Run src_bash{protonmail-setup-bridge} to automate this process.
|
||||
|
||||
Run bridge in CLI mode to login, wait for initial sync and get app password
|
||||
#+begin_src bash
|
||||
nix run nixpkgs#protonmail-bridge -- -c
|
||||
# Follow prompts to login and get password
|
||||
#+end_src
|
||||
|
||||
Restart using ~swaymsg~:
|
||||
#+begin_src bash
|
||||
nix shell nixpkgs#protonmail-bridge -c swaymsg exec "protonmail-bridge -n"
|
||||
#+end_src
|
||||
|
||||
**** uidvalidity issue
|
||||
+Remove uid lines from .mbsyncrc (in each mail directory) and delete .uidvalidity, re-run mbsync to fix+
|
||||
Above might be duplicating mail, faster to just delete local maildirs and let them re-sync.
|
||||
|
||||
Start Proton Mail Bridge application, if needed configure to store
|
||||
using =SecretService= and log in. Application will auto-start with
|
||||
plasma session.
|
||||
*** Password
|
||||
Get password from ~protonmail-bridge~, save to ~password-store~:
|
||||
#+begin_src bash
|
||||
|
@ -81,3 +66,7 @@ On first run (or if token expires), stop systemd service and run manually to com
|
|||
# Restart again so that service picks up available ports
|
||||
systemctl --user restart davmail.service
|
||||
#+end_src
|
||||
* Flathub setup
|
||||
#+begin_src bash
|
||||
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
#+end_src
|
||||
|
|
25
default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Programs
|
||||
./programs/desktop/default.nix
|
||||
./programs/shell/default.nix
|
||||
./programs/emacs/default.nix
|
||||
./programs/browser/default.nix
|
||||
# Services
|
||||
./services/email/work.nix # TODO combine again at some point
|
||||
./services/password-store/default.nix
|
||||
# Additional Scripts
|
||||
./scripts/default.nix
|
||||
];
|
||||
programs.home-manager.enable = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
home = {
|
||||
username = lib.mkDefault "pixelifytica";
|
||||
homeDirectory = "/home/${config.home.username}";
|
||||
stateVersion = "23.05";
|
||||
};
|
||||
}
|
60
flake.lock
|
@ -41,16 +41,16 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715381426,
|
||||
"narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=",
|
||||
"lastModified": 1718530513,
|
||||
"narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4",
|
||||
"rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-23.11",
|
||||
"ref": "release-24.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -60,11 +60,11 @@
|
|||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710589819,
|
||||
"narHash": "sha256-fm69qycthevGExpbudpuCCSEBPuCOk/+d15382c37oE=",
|
||||
"lastModified": 1717786575,
|
||||
"narHash": "sha256-IyfMwVf4gR8BAhs6pnzZbtGESrG3lV59t25qIq30r8Q=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "6e305fa1d05a97343d47f0b6865e10a870fc8d4e",
|
||||
"revCount": 10,
|
||||
"rev": "8848d889ab9089dff04a3ffc80d2cc8a61d545c4",
|
||||
"revCount": 12,
|
||||
"type": "git",
|
||||
"url": "https://git.xenia.me.uk/pixelifytica/iosevka.git"
|
||||
},
|
||||
|
@ -75,11 +75,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1710451336,
|
||||
"narHash": "sha256-pP86Pcfu3BrAvRO7R64x7hs+GaQrjFes+mEPowCfkxY=",
|
||||
"lastModified": 1717602782,
|
||||
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d691274a972b3165335d261cc4671335f5c67de9",
|
||||
"rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -91,37 +91,61 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1716361217,
|
||||
"narHash": "sha256-mzZDr00WUiUXVm1ujBVv6A0qRd8okaITyUp4ezYRgc4=",
|
||||
"lastModified": 1718835956,
|
||||
"narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "46397778ef1f73414b03ed553a3368f0e7e33c2f",
|
||||
"rev": "dd457de7e08c6d06789b1f5b88fc9327f4d96309",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-23.11",
|
||||
"ref": "nixos-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plasma-manager": {
|
||||
"inputs": {
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719302143,
|
||||
"narHash": "sha256-PMtSsKvbgfoI5+rb7UBIBfIwQ4Zvjt1iChWwQL+BkGo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "a3b881f62eb3aabb97e4fc68041ef34e8029e186",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"home-manager": "home-manager",
|
||||
"iosevka-custom": "iosevka-custom",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"plasma-manager": "plasma-manager",
|
||||
"tt-schemes": "tt-schemes"
|
||||
}
|
||||
},
|
||||
"tt-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1713388094,
|
||||
"narHash": "sha256-wcotm0Ek2ISn8iJBzEujJQdcPLKWrPAOZ/dS/DLKafw=",
|
||||
"lastModified": 1718992165,
|
||||
"narHash": "sha256-9i9IjZcjvinb/214x5YShUDBZBC2189HYs26uGy/Hck=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "abcf2a055ae69f1bf047463332f83db3125aa8a5",
|
||||
"rev": "ef9a4c3c384624694608adebf0993d7a3bed3cf2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
150
flake.nix
|
@ -7,11 +7,18 @@
|
|||
};
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-23.11";
|
||||
url = "github:nix-community/home-manager/release-24.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
plasma-manager = {
|
||||
url = "github:nix-community/plasma-manager";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
home-manager.follows = "home-manager";
|
||||
};
|
||||
};
|
||||
iosevka-custom.url = "git+https://git.xenia.me.uk/pixelifytica/iosevka.git";
|
||||
base16.url = "github:SenchoPens/base16.nix";
|
||||
tt-schemes = {
|
||||
|
@ -24,19 +31,19 @@
|
|||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
plasma-manager,
|
||||
iosevka-custom,
|
||||
base16,
|
||||
tt-schemes,
|
||||
...
|
||||
}: let
|
||||
defaultExtraSpecialArgs = {
|
||||
system ? "x86_64-linux",
|
||||
hostname ? "Atlas",
|
||||
...
|
||||
hostname,
|
||||
system,
|
||||
}: rec {
|
||||
inherit hostname;
|
||||
accentColour = "base07"; # catppuccin lavender
|
||||
catppuccinVariant = "Mocha";
|
||||
inherit (plasma-manager.packages.${system}) rc2nix;
|
||||
accentColourName = "base0C";
|
||||
iosevkaCustom = {
|
||||
packages = iosevka-custom.outputs.packages.${system};
|
||||
names = iosevka-custom.outputs.names;
|
||||
|
@ -59,17 +66,11 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
defaultModules = {
|
||||
username ? "pixelifytica",
|
||||
hostname ? "Atlas",
|
||||
...
|
||||
}: [
|
||||
defaultModules = [
|
||||
plasma-manager.homeManagerModules.plasma-manager
|
||||
base16.homeManagerModule
|
||||
./home/${hostname}.nix
|
||||
({...}: {
|
||||
home = {inherit username;};
|
||||
scheme = "${tt-schemes}/base16/catppuccin-mocha.yaml";
|
||||
})
|
||||
{scheme = "${tt-schemes}/base16/one-light.yaml";}
|
||||
./default.nix
|
||||
];
|
||||
in {
|
||||
packages.x86_64-linux = {inherit (home-manager.packages.x86_64-linux) default;};
|
||||
|
@ -81,79 +82,68 @@
|
|||
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||
in
|
||||
pkgs.mkShellNoCC {
|
||||
packages = [pkgs.nil];
|
||||
packages = with pkgs; [nil pre-commit];
|
||||
shellHook = "pre-commit install --install-hooks";
|
||||
};
|
||||
homeConfigurations = {
|
||||
# Fallback entry
|
||||
pixelifytica = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||
modules = defaultModules {
|
||||
username = "pixelifytica";
|
||||
hostname = "Atlas";
|
||||
};
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||
system = "x86_64-linux";
|
||||
hostname = "Atlas";
|
||||
};
|
||||
};
|
||||
# Server
|
||||
"pixelifytica@Legion" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||
modules = defaultModules {
|
||||
username = "pixelifytica";
|
||||
hostname = "Legion";
|
||||
"pixelifytica@Legion" = let
|
||||
hostname = "Legion";
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
modules = defaultModules;
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {inherit hostname system;};
|
||||
};
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||
system = "x86_64-linux";
|
||||
hostname = "Legion";
|
||||
};
|
||||
};
|
||||
# Personal
|
||||
"pixelifytica@Northstar" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||
modules = defaultModules {
|
||||
username = "pixelifytica";
|
||||
hostname = "Northstar";
|
||||
"pixelifytica@Northstar" = let
|
||||
hostname = "Northstar";
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
modules =
|
||||
defaultModules
|
||||
++ [
|
||||
./personal.nix
|
||||
{programs.plasma.configFile.kcminputrc."Libinput/1739/52759/SYNA32AA:00 06CB:CE17 Touchpad".NaturalScroll = true;}
|
||||
];
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {inherit hostname system;};
|
||||
};
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||
system = "x86_64-linux";
|
||||
hostname = "Northstar";
|
||||
"pixelifytica@Vanguard" = let
|
||||
hostname = "Vanguard";
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
modules = defaultModules ++ [./personal.nix];
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {inherit hostname system;};
|
||||
};
|
||||
};
|
||||
"pixelifytica@Vanguard" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||
modules = defaultModules {
|
||||
username = "pixelifytica";
|
||||
hostname = "Vanguard";
|
||||
};
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||
system = "x86_64-linux";
|
||||
hostname = "Vanguard";
|
||||
};
|
||||
};
|
||||
# Work
|
||||
"elitherl@Tone" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||
modules = defaultModules {
|
||||
username = "elitherl";
|
||||
hostname = "Tone";
|
||||
"elitherl@Tone" = let
|
||||
hostname = "Tone";
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
modules =
|
||||
defaultModules
|
||||
++ [
|
||||
./work.nix
|
||||
{programs.plasma.configFile.kcminputrc."Libinput/1160/4132/DELL0A21:00 0488:1024 Touchpad".NaturalScroll = true;}
|
||||
];
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {inherit hostname system;};
|
||||
};
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||
system = "x86_64-linux";
|
||||
hostname = "Tone";
|
||||
"elitherl@Scorch" = let
|
||||
hostname = "Scorch";
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
modules = defaultModules ++ [./work.nix];
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {inherit hostname system;};
|
||||
};
|
||||
};
|
||||
"elitherl@Scorch" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||
modules = defaultModules {
|
||||
username = "elitherl";
|
||||
hostname = "Scorch";
|
||||
};
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||
system = "x86_64-linux";
|
||||
hostname = "Scorch";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
{...}: {imports = [./default.nix];}
|
|
@ -1 +0,0 @@
|
|||
{...}: {imports = [./default.nix];}
|
|
@ -1,8 +0,0 @@
|
|||
{...}: {
|
||||
imports = [./default.nix];
|
||||
wayland.windowManager.sway.config.output = {
|
||||
"eDP-1" = {
|
||||
scale = "1.25";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{...}: {
|
||||
imports = [./work.nix];
|
||||
wayland.windowManager.sway.config.output = {
|
||||
"Dell Inc. DELL P3223QE CCG8YN3" = {
|
||||
pos = "0 0";
|
||||
scale = "1.5";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
{...}: {
|
||||
imports = [./work.nix];
|
||||
wayland.windowManager.sway.config.output = {
|
||||
"eDP-1".scale = "1.25";
|
||||
"Dell Inc. DELL P3223QE CCG8YN3".scale = "1.5";
|
||||
};
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
systemdTarget = "sway-session.target";
|
||||
profiles = {
|
||||
undocked = {
|
||||
outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
status = "enable";
|
||||
scale = 1.25;
|
||||
}
|
||||
];
|
||||
};
|
||||
docked = {
|
||||
outputs = [
|
||||
{
|
||||
criteria = "Dell Inc. DELL P3223QE CCG8YN3";
|
||||
status = "enable";
|
||||
scale = 1.5;
|
||||
}
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
status = "disable";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./default.nix
|
||||
../programs/games/default.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
blender
|
||||
freecad
|
||||
prusa-slicer
|
||||
];
|
||||
wayland.windowManager.sway.config = {
|
||||
startup = [
|
||||
{command = "${pkgs.xorg.xrandr}/bin/xrandr --output DP-2 --primary";}
|
||||
];
|
||||
output = {
|
||||
"Acer Technologies ED270R TJMEE0043W01" = {
|
||||
mode = "1920x1080@165Hz";
|
||||
pos = "1080 420";
|
||||
adaptive_sync = "off";
|
||||
};
|
||||
"Ancor Communications Inc VS278 FALMQS032358" = {
|
||||
pos = "0 0";
|
||||
transform = "270";
|
||||
};
|
||||
};
|
||||
workspaceOutputAssign = [
|
||||
{
|
||||
output = "HDMI-A-1";
|
||||
workspace = "1";
|
||||
}
|
||||
];
|
||||
};
|
||||
programs.waybar.settings = {
|
||||
main.output = ["DP-2"];
|
||||
alt.output = ["HDMI-A-1"];
|
||||
};
|
||||
}
|
115
home/default.nix
|
@ -1,115 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Programs
|
||||
../programs/sway/default.nix
|
||||
../programs/shell/default.nix
|
||||
../programs/emacs/default.nix
|
||||
../programs/nyxt/default.nix
|
||||
../programs/firefox/default.nix
|
||||
../programs/cava/default.nix
|
||||
../programs/obs/default.nix
|
||||
../programs/python/default.nix
|
||||
../programs/lua/default.nix
|
||||
# Services
|
||||
../services/email/work.nix # TODO combine again at some point
|
||||
../services/password-store/default.nix
|
||||
# Additional Scripts
|
||||
../scripts/default.nix
|
||||
];
|
||||
programs.home-manager.enable = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
services = {
|
||||
gpg-agent.pinentryFlavor = "gtk2";
|
||||
avizo.enable = true;
|
||||
syncthing.enable = true;
|
||||
udiskie = {
|
||||
enable = true;
|
||||
notify = true;
|
||||
automount = true;
|
||||
tray = "never";
|
||||
};
|
||||
};
|
||||
gtk = with lib.strings; let
|
||||
accent = "Lavender";
|
||||
variant = "Mocha";
|
||||
in {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
package = pkgs.catppuccin-papirus-folders.override {
|
||||
accent = toLower accent;
|
||||
flavor = toLower variant;
|
||||
};
|
||||
name = "Papirus-Dark";
|
||||
};
|
||||
cursorTheme = {
|
||||
package = pkgs.catppuccin-cursors."${toLower variant}Dark";
|
||||
name = "Catppuccin-${variant}-Dark-Cursors";
|
||||
size = 32;
|
||||
};
|
||||
theme = let
|
||||
size = "Standard";
|
||||
in {
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
accents = [(toLower accent)];
|
||||
size = toLower size;
|
||||
variant = toLower variant;
|
||||
};
|
||||
name = "Catppuccin-${variant}-${size}-${accent}-Dark";
|
||||
};
|
||||
};
|
||||
xdg = {
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
extraConfig = {
|
||||
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
|
||||
};
|
||||
};
|
||||
};
|
||||
xresources.properties = with config.scheme.withHashtag; {
|
||||
"*background" = base00;
|
||||
"*foreground" = base05;
|
||||
"*color0" = base00;
|
||||
"*color1" = red;
|
||||
"*color2" = green;
|
||||
"*color3" = yellow;
|
||||
"*color4" = blue;
|
||||
"*color5" = magenta;
|
||||
"*color6" = cyan;
|
||||
"*color7" = base04;
|
||||
"*color8" = base01;
|
||||
"*color9" = red;
|
||||
"*color10" = green;
|
||||
"*color11" = yellow;
|
||||
"*color12" = blue;
|
||||
"*color13" = magenta;
|
||||
"*color14" = cyan;
|
||||
"*color15" = base05;
|
||||
};
|
||||
home = {
|
||||
homeDirectory = "/home/${config.home.username}";
|
||||
packages = with pkgs; [
|
||||
gnumake
|
||||
git-sync
|
||||
pinentry
|
||||
fd
|
||||
ripgrep
|
||||
ffmpeg
|
||||
mpv
|
||||
evince
|
||||
libreoffice-fresh
|
||||
inkscape
|
||||
webcord
|
||||
signal-desktop
|
||||
whatsapp-for-linux
|
||||
teams-for-linux
|
||||
nomachine-client
|
||||
];
|
||||
stateVersion = "23.05";
|
||||
};
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./default.nix];
|
||||
home.packages = [
|
||||
(pkgs.writeShellScriptBin "ukaea-vpn-connect" "sudo ${pkgs.openfortivpn}/bin/openfortivpn -c ${./ukaea-vpn.conf}")
|
||||
];
|
||||
programs = {
|
||||
git.userEmail = config.accounts.email.accounts.outlook.address;
|
||||
firefox.policies.Homepage.URL = "https://nucleus.ukaea.uk";
|
||||
};
|
||||
accounts.email.accounts = {
|
||||
proton.primary = lib.mkForce false;
|
||||
outlook.primary = lib.mkForce true;
|
||||
};
|
||||
}
|
18
personal.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{pkgs, ...}: {
|
||||
imports = [
|
||||
# Programs
|
||||
./programs/games/default.nix
|
||||
./programs/streaming/default.nix
|
||||
];
|
||||
home = {
|
||||
username = "pixelifytica";
|
||||
packages = with pkgs;
|
||||
with kdePackages; [
|
||||
blender
|
||||
freecad
|
||||
prusa-slicer
|
||||
ktorrent
|
||||
noson
|
||||
];
|
||||
};
|
||||
}
|
203
programs/browser/bookmarks.json
Normal file
|
@ -0,0 +1,203 @@
|
|||
[
|
||||
{ "name": "Mastodon", "url": "https://tech.lgbt", "tags": ["Social"] },
|
||||
{
|
||||
"name": "ABRP",
|
||||
"url": "https://abetterrouteplanner.com/",
|
||||
"tags": ["Travel"]
|
||||
},
|
||||
{
|
||||
"name": "Forgejo",
|
||||
"url": "https://git.xenia.me.uk",
|
||||
"tags": ["Software", "Git", "Personal"]
|
||||
},
|
||||
{
|
||||
"name": "GitHub",
|
||||
"url": "https://github.com",
|
||||
"tags": ["Software", "Git"]
|
||||
},
|
||||
{
|
||||
"name": "CCFE GitLab",
|
||||
"url": "https://git.ccfe.ac.uk",
|
||||
"tags": ["Software", "Git", "Work"]
|
||||
},
|
||||
{
|
||||
"name": "NixOS Manual",
|
||||
"url": "https://nixos.org/manual/nixpkgs/stable/",
|
||||
"tags": ["Software", "Documentation", "Ni"]
|
||||
},
|
||||
{
|
||||
"name": "NixOS and Flakes",
|
||||
"url": "https://nixos-and-flakes.thiscute.world/",
|
||||
"tags": ["Software", "Documentation", "Nix"]
|
||||
},
|
||||
{
|
||||
"name": "Home Manager",
|
||||
"url": "https://nix-community.github.io/home-manager/options.xhtml",
|
||||
"tags": ["Software", "Documentation", "Nix"]
|
||||
},
|
||||
{
|
||||
"name": "KDE Plasma Desktop Scripting",
|
||||
"url": "https://develop.kde.org/docs/plasma/scripting/",
|
||||
"tags": ["Software", "Documentation", "KDE", "Plasma"]
|
||||
},
|
||||
{
|
||||
"name": "Awesome Emacs",
|
||||
"url": "https://github.com/emacs-tw/awesome-emacs",
|
||||
"tags": ["Software", "Repositories"]
|
||||
},
|
||||
{
|
||||
"name": "Awesome Wayland",
|
||||
"url": "https://github.com/natpen/awesome-wayland",
|
||||
"tags": ["Software", "Repositories"]
|
||||
},
|
||||
{
|
||||
"name": "NixOS Wiki",
|
||||
"url": "https://nixos.wiki",
|
||||
"tags": ["Wiki"]
|
||||
},
|
||||
{
|
||||
"name": "Arch Wiki",
|
||||
"url": "https://wiki.archlinux.org",
|
||||
"tags": ["Wiki"]
|
||||
},
|
||||
{
|
||||
"name": "Homepage",
|
||||
"url": "https://wiki.jetdata.eu/open/index.php?title=Main_Page",
|
||||
"tags": ["Wiki", "OpenWiki"]
|
||||
},
|
||||
{
|
||||
"name": "Diagnostic Coordinator",
|
||||
"url": "https://wiki.jetdata.eu/open/index.php?title=Diagnostic_Coordinator_Wiki",
|
||||
"tags": ["Wiki", "OpenWiki"]
|
||||
},
|
||||
{
|
||||
"name": "Spectroscopy Group",
|
||||
"url": "https://wiki.jetdata.eu/open/index.php?title=Spectroscopy_Group:index",
|
||||
"tags": ["Wiki", "OpenWiki"]
|
||||
},
|
||||
{
|
||||
"name": "KS5 Wiki",
|
||||
"url": "https://wiki.jetdata.eu/open/index.php?title=CXS:Topic3",
|
||||
"tags": ["Wiki", "OpenWiki"]
|
||||
},
|
||||
{
|
||||
"name": "KT3 Journals",
|
||||
"url": "https://wiki.jetdata.eu/open/index.php?title=KT3_Journals",
|
||||
"tags": ["Wiki", "OpenWiki"]
|
||||
},
|
||||
{
|
||||
"name": "Nucleus",
|
||||
"url": "https://nucleus.ukaea.uk/",
|
||||
"tags": ["Work"]
|
||||
},
|
||||
{
|
||||
"name": "Marval",
|
||||
"url": "https://marval.service.ukaea.uk/MSMSelfService/Index.aspx",
|
||||
"tags": ["Work"]
|
||||
},
|
||||
{
|
||||
"name": "U4BW",
|
||||
"url": "https://ubw.unit4cloud.com/uk_aea_prod_web/Login/Login.aspx",
|
||||
"tags": ["Work"]
|
||||
},
|
||||
{
|
||||
"name": "UKAEA Pinboard",
|
||||
"url": "https://pinboard.ukaea.uk/",
|
||||
"tags": ["Work"]
|
||||
},
|
||||
{
|
||||
"name": "OPEN-ADAS",
|
||||
"url": "https://open.adas.ac.uk/",
|
||||
"tags": ["Work"]
|
||||
},
|
||||
{
|
||||
"name": "Homepage",
|
||||
"url": "http://w3.jet.uk",
|
||||
"tags": ["Work", "JET"]
|
||||
},
|
||||
{
|
||||
"name": "Physics Summary",
|
||||
"url": "https://users.euro-fusion.org/pages/physics-summary/LatestSession.php",
|
||||
"tags": ["Work", "JET"]
|
||||
},
|
||||
{
|
||||
"name": "JSPO Reports",
|
||||
"url": "https://www.jspo.jet.uk/pages/operations/jpecreports_2023.html",
|
||||
"tags": ["Work", "JET"]
|
||||
},
|
||||
{
|
||||
"name": "DVCM Homepage",
|
||||
"url": "https://dvcm.jetdata.eu/",
|
||||
"tags": ["Work", "JET"]
|
||||
},
|
||||
{
|
||||
"name": "JET Data Services",
|
||||
"url": "https://data.jet.uk",
|
||||
"tags": ["Work", "JET", "Data"]
|
||||
},
|
||||
{
|
||||
"name": "PPF Query",
|
||||
"url": "https://data.jet.uk/ppf/browse/ppfquery",
|
||||
"tags": ["Work", "JET", "Data"]
|
||||
},
|
||||
{
|
||||
"name": "ReqCo",
|
||||
"url": "https://data.jet.uk/reqco/myrequests",
|
||||
"tags": ["Work", "JET", "Data"]
|
||||
},
|
||||
{
|
||||
"name": "Countdown Mimic",
|
||||
"url": "http://webmimic.jet.uk/mc/codas/countdown",
|
||||
"tags": ["Work", "JET", "Mimic"]
|
||||
},
|
||||
{
|
||||
"name": "KS5 Mimic",
|
||||
"url": "http://webmimic.jet.uk/DG/codas/ks5.mim.html",
|
||||
"tags": ["Work", "JET", "Mimic"]
|
||||
},
|
||||
{
|
||||
"name": "KT3 Mimic",
|
||||
"url": "http://webmimic.jet.uk/DG/codas/kt3spec.mim.html",
|
||||
"tags": ["Work", "JET", "Mimic"]
|
||||
},
|
||||
{
|
||||
"name": "Users Page",
|
||||
"url": "https://users.mastu.ukaea.uk/home",
|
||||
"tags": ["Work", "MAST-U"]
|
||||
},
|
||||
{
|
||||
"name": "Diagnostic Handbook",
|
||||
"url": "https://intranet.ccfe.ac.uk/mastu-handbook",
|
||||
"tags": ["Work", "MAST-U"]
|
||||
},
|
||||
{
|
||||
"name": "Data Access and Tools",
|
||||
"url": "https://users.mastu.ukaea.uk/data-access-and-tools",
|
||||
"tags": ["Work", "MAST-U"]
|
||||
},
|
||||
{
|
||||
"name": "Outlook Calendar",
|
||||
"url": "https://outlook.office.com/calendar/view/workweek",
|
||||
"tags": ["Work", "Office"]
|
||||
},
|
||||
{
|
||||
"name": "Teams",
|
||||
"url": "https://teams.microsoft.com/v2",
|
||||
"tags": ["Work", "Office"]
|
||||
},
|
||||
{
|
||||
"name": "OneDrive",
|
||||
"url": "https://ukaeauk-my.sharepoint.com/personal/evie_litherland-smith_ukaea_uk/",
|
||||
"tags": ["Work", "Office"]
|
||||
},
|
||||
{
|
||||
"name": "Sharepoint",
|
||||
"url": "https://ukaeauk.sharepoint.com/",
|
||||
"tags": ["Work", "Office"]
|
||||
},
|
||||
{
|
||||
"name": "NHS App",
|
||||
"url": "https://www.nhsapp.service.nhs.uk/login",
|
||||
"tags": ["Personal", "NHS"]
|
||||
}
|
||||
]
|
|
@ -2,7 +2,9 @@
|
|||
((default-modes
|
||||
(pushnew 'nyxt/mode/emacs:emacs-mode %slot-value%))
|
||||
(default-modes
|
||||
(pushnew 'nyxt/mode/blocker:blocker-mode %slot-value%))))
|
||||
(pushnew 'nyxt/mode/blocker:blocker-mode %slot-value%))
|
||||
(default-modes
|
||||
(pushnew 'nyxt/mode/no-script:no-script-mode %slot-value%))))
|
||||
|
||||
(define-configuration status-buffer
|
||||
((glyph-mode-presentation-p t)
|
||||
|
@ -10,10 +12,12 @@
|
|||
|
||||
(define-configuration :emacs-mode ((glyph "ε")))
|
||||
(define-configuration :force-https-mode ((glyph "ϕ")))
|
||||
(define-configuration :no-script-mode ((glyph "j")))
|
||||
(define-configuration :user-script-mode ((glyph "u")))
|
||||
(define-configuration :blocker-mode ((glyph "β")))
|
||||
(define-configuration :proxy-mode ((glyph "π")))
|
||||
(define-configuration :reduce-tracking-mode ((glyph "τ")))
|
||||
(define-configuration :reduce-bandwidth-mode ((glyph "r")))
|
||||
(define-configuration :certificate-exception-mode ((glyph "χ")))
|
||||
(define-configuration :style-mode ((glyph "ϕ")))
|
||||
(define-configuration :cruise-control-mode ((glyph "σ")))
|
||||
|
@ -50,7 +54,7 @@
|
|||
'("flathub" "https://flathub.org/apps/search?q=~a" "https://flathub.org/")
|
||||
'("doi" "https://dx.doi.org/~a" "https://dx.doi.org/")
|
||||
'("wiki" "https://en.wikipedia.org/w/index.php?search=~a" "https://en.wikipedia.org/")
|
||||
'("ddg" "https://duckduckgo.com/?q=~a" "https://duckduckgo.com/"))
|
||||
'("ddg" "https://html.duckduckgo.com/html/?q=~a" "https://html.duckduckgo.com/"))
|
||||
"List of search engines.")
|
||||
|
||||
(define-configuration context-buffer
|
||||
|
@ -62,4 +66,4 @@
|
|||
(define-configuration browser
|
||||
((restore-session-on-startup-p nil)))
|
||||
|
||||
(setf (uiop/os:getenv "GTK_THEME") "Adwaita:dark")
|
||||
(setf (uiop/os:getenv "GTK_THEME") "Adwaita:light")
|
6
programs/browser/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{...}: {
|
||||
imports = [
|
||||
./nyxt.nix
|
||||
./firefox.nix
|
||||
];
|
||||
}
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
browserpass = {
|
||||
enable = true;
|
||||
|
@ -28,7 +24,7 @@
|
|||
DisableSetDesktopBackground = true;
|
||||
DisableSystemAddonUpdate = true;
|
||||
DisableTelemetry = true;
|
||||
DisplayBookmarksToolbar = "newtab";
|
||||
DisplayBookmarksToolbar = "never";
|
||||
DisplayMenuBar = "default-off";
|
||||
DontCheckDefaultBrowser = true;
|
||||
EnableTrackingProtection = {
|
||||
|
@ -54,10 +50,6 @@
|
|||
installation_mode = "force_installed";
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/simplelogin/latest.xpi";
|
||||
};
|
||||
"{8446b178-c865-4f5c-8ccc-1d7887811ae3}" = {
|
||||
installation_mode = "force_installed";
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-mocha-lavender-git/latest.xpi";
|
||||
};
|
||||
};
|
||||
FirefoxHome = {
|
||||
Search = true;
|
||||
|
@ -98,6 +90,7 @@
|
|||
StartDownloadsInTempDirectory = true;
|
||||
};
|
||||
profiles.default = {
|
||||
bookmarks = builtins.fromJSON (builtins.readFile ./bookmarks.json);
|
||||
settings = {
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"browser.bookmarks.addedImportButton" = false;
|
||||
|
@ -109,7 +102,7 @@
|
|||
"browser.warnOnQuitShortcut" = false;
|
||||
"distribution.searchplugins.defaultLocale" = "en-GB";
|
||||
"doh-rollout.home-region" = "GB";
|
||||
"extensions.activeThemeID" = "{c6698fd1-fe9b-4eae-95d5-fe1703820469}";
|
||||
"extensions.activeThemeID" = "default-theme@mozilla.org";
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"general.useragent.locale" = "en-GB";
|
||||
"intl.accept_languages" = "en-gb,en";
|
||||
|
@ -122,7 +115,7 @@
|
|||
"browser.newtabpage.pinned" = [
|
||||
{
|
||||
title = "NixOS Wiki";
|
||||
url = "https://nixos.wiki";
|
||||
url = "https://wiki.nixos.org";
|
||||
}
|
||||
{
|
||||
title = "Arch Wiki";
|
||||
|
@ -130,13 +123,6 @@
|
|||
}
|
||||
];
|
||||
};
|
||||
bookmarks = [
|
||||
{
|
||||
name = "toplevel";
|
||||
toolbar = true;
|
||||
bookmarks = import ./bookmarks/default.nix lib;
|
||||
}
|
||||
];
|
||||
search = rec {
|
||||
default = "DuckDuckGo";
|
||||
privateDefault = default;
|
65
programs/browser/nyxt.nix
Normal file
|
@ -0,0 +1,65 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
fonts,
|
||||
accentColourName,
|
||||
...
|
||||
}: {
|
||||
home.packages = [pkgs.nyxt];
|
||||
xdg = {
|
||||
configFile = {
|
||||
"nyxt/config.lisp".text = let
|
||||
sc = config.scheme.withHashtag;
|
||||
in ''
|
||||
;; Import custom configuration
|
||||
(nyxt::load-lisp "${./config.lisp}")
|
||||
;; Define custom theme
|
||||
(define-configuration browser
|
||||
((theme (make-instance 'theme:theme
|
||||
:dark-p t
|
||||
:font-family "${fonts.sansSerif.name}"
|
||||
:monospace-font-family "${fonts.monospace.name}"
|
||||
:background-color "${sc.base00}"
|
||||
:on-background-color "${sc.base05}"
|
||||
:primary-color "${sc.base02}"
|
||||
:on-primary-color "${sc.base05}"
|
||||
:secondary-color "${sc.base03}"
|
||||
:on-secondary-color "${sc.base05}"
|
||||
:accent-color "${sc.${accentColourName}}"
|
||||
:on-accent-color "${sc.base01}"
|
||||
:action-color "${sc.cyan}"
|
||||
:on-action-color "${sc.base01}"
|
||||
:success-color "${sc.green}"
|
||||
:on-success-color "${sc.base01}"
|
||||
:highlight-color "${sc.magenta}"
|
||||
:on-highlight-color "${sc.base01}"
|
||||
:warning-color "${sc.yellow}"
|
||||
:on-warning-color "${sc.base01}"
|
||||
:codeblock-color "${sc.base02}"
|
||||
:on-codeblock-color "${sc.base05}"))))
|
||||
'';
|
||||
};
|
||||
dataFile."nyxt/bookmarks.lisp".text = let
|
||||
# Make a string of lisp-style list of strings, from nix-style
|
||||
# list
|
||||
convertTags = tags: "(" + (builtins.foldl' (x: y: x + " \"" + y + "\"") "" tags) + " )";
|
||||
# Take bookmarks as returned from JSON file and convert to NYXT
|
||||
# expected format
|
||||
convertBookmark = {
|
||||
name,
|
||||
tags,
|
||||
url,
|
||||
}: "(:url \"${url}\" :title \"${name}\" :tags ${convertTags tags})\n";
|
||||
in (
|
||||
# Fold all entries in bookmarks.json into single string of NYXT
|
||||
# format bookmarks, each entry on a new line and with 2 space
|
||||
# indentation, just for visual clarity if reading the outputted
|
||||
# file
|
||||
"(\n"
|
||||
+ (builtins.foldl'
|
||||
(x: y: x + " " + convertBookmark y) ""
|
||||
(builtins.fromJSON (builtins.readFile ./bookmarks.json)))
|
||||
+ ")"
|
||||
);
|
||||
};
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{config, ...}: {
|
||||
programs.cava = {
|
||||
enable = true;
|
||||
settings = {
|
||||
color = with config.scheme.withHashtag; {
|
||||
gradient = 1;
|
||||
gradient_count = 6;
|
||||
gradient_color_1 = "'${red}'";
|
||||
gradient_color_2 = "'${yellow}'";
|
||||
gradient_color_3 = "'${green}'";
|
||||
gradient_color_4 = "'${cyan}'";
|
||||
gradient_color_5 = "'${blue}'";
|
||||
gradient_color_6 = "'${magenta}'";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
71
programs/desktop/alacritty/default.nix
Normal file
|
@ -0,0 +1,71 @@
|
|||
{
|
||||
config,
|
||||
fonts,
|
||||
...
|
||||
}: {
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
font = {
|
||||
size = fonts.sizes.applications;
|
||||
normal = {
|
||||
family = fonts.monospace.name;
|
||||
style = "Regular";
|
||||
};
|
||||
};
|
||||
window = {
|
||||
dynamic_title = true;
|
||||
padding = {
|
||||
x = 10;
|
||||
y = 10;
|
||||
};
|
||||
# decorations = "none";
|
||||
# opacity = 0.9;
|
||||
};
|
||||
live_config_reload = true;
|
||||
selection.save_to_clipboard = true;
|
||||
mouse.hide_when_typing = true;
|
||||
colors = let
|
||||
mapColours = isBright: (builtins.listToAttrs (builtins.map (col: {
|
||||
# Alacritty uses Yellow instead of Orange for BASE09
|
||||
name =
|
||||
if col == "orange"
|
||||
then "yellow"
|
||||
else col;
|
||||
value = "0x${config
|
||||
.scheme
|
||||
.${
|
||||
if isBright
|
||||
then "bright-${col}"
|
||||
else col
|
||||
}}";
|
||||
})
|
||||
["red" "orange" "green" "cyan" "blue" "magenta"]));
|
||||
mapNamedColours = mapColours false;
|
||||
mapNamedBrightColours = mapColours true;
|
||||
in {
|
||||
draw_bold_text_with_bright_colors = false;
|
||||
primary = with config.scheme; {
|
||||
background = "0x${base00}";
|
||||
foreground = "0x${base05}";
|
||||
};
|
||||
cursor = with config.scheme; {
|
||||
cursor = "0x${base05}";
|
||||
text = "0x${base00}";
|
||||
};
|
||||
normal = with config.scheme;
|
||||
{
|
||||
black = "0x${base00-hex}";
|
||||
white = "0x${base05-hex}";
|
||||
}
|
||||
// mapNamedColours;
|
||||
bright = with config.scheme;
|
||||
{
|
||||
black = "0x${base03-hex}";
|
||||
white = "0x${base07-hex}";
|
||||
}
|
||||
// mapNamedBrightColours;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
19
programs/desktop/avizo/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
config,
|
||||
accentColourName,
|
||||
...
|
||||
}: {
|
||||
services.avizo = {
|
||||
enable = true;
|
||||
settings.default = let
|
||||
sc = config.scheme;
|
||||
rgba = colourName: "${sc."${colourName}-rgb-r"}, ${sc."${colourName}-rgb-g"}, ${sc."${colourName}-rgb-b"}";
|
||||
in {
|
||||
background = "rgba(${rgba "base00"}, 0.9)";
|
||||
bar-bg-color = "rgba(${rgba "base00"}, 0.9)";
|
||||
bar-fg-color = "rgba(${rgba "base05"}, 1.0)";
|
||||
border-color = "rgba(${rgba accentColourName}, 1.0)";
|
||||
image-opacity = "1.0";
|
||||
};
|
||||
};
|
||||
}
|
35
programs/desktop/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./plasma6/default.nix
|
||||
./alacritty/default.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
libreoffice-fresh
|
||||
inkscape
|
||||
webcord
|
||||
kdePackages.krdc
|
||||
];
|
||||
services.syncthing.enable = true;
|
||||
programs.mpv.enable = true;
|
||||
xdg = {
|
||||
mime.enable = true;
|
||||
mimeApps = let
|
||||
defaultApplications = import ./mimeapps.nix;
|
||||
in {
|
||||
enable = true;
|
||||
inherit defaultApplications;
|
||||
associations.added = defaultApplications;
|
||||
};
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
extraConfig = {
|
||||
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
47
programs/desktop/foot/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
config,
|
||||
fonts,
|
||||
...
|
||||
}: {
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
server.enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
locked-title = false;
|
||||
font = "${fonts.monospace.name}:size=${toString fonts.sizes.applications}";
|
||||
dpi-aware = false;
|
||||
pad = "10x10";
|
||||
};
|
||||
bell = {
|
||||
urgent = false;
|
||||
notify = false;
|
||||
visual = false;
|
||||
};
|
||||
cursor = {blink = true;};
|
||||
mouse = {hide-when-typing = true;};
|
||||
colors = with config.scheme; rec {
|
||||
alpha = 0.9;
|
||||
background = base00;
|
||||
foreground = base05;
|
||||
regular0 = base02;
|
||||
regular1 = red;
|
||||
regular2 = green;
|
||||
regular3 = yellow;
|
||||
regular4 = blue;
|
||||
regular5 = magenta;
|
||||
regular6 = cyan;
|
||||
regular7 = base05;
|
||||
bright0 = base04;
|
||||
bright1 = regular1;
|
||||
bright2 = regular2;
|
||||
bright3 = regular3;
|
||||
bright4 = regular4;
|
||||
bright5 = regular5;
|
||||
bright6 = regular6;
|
||||
bright7 = base05;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,9 +1,8 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
fonts,
|
||||
accentColour ? "base07",
|
||||
accentColourName,
|
||||
...
|
||||
}: {
|
||||
programs.fuzzel = {
|
||||
|
@ -11,29 +10,32 @@
|
|||
settings = {
|
||||
main = {
|
||||
dpi-aware = false;
|
||||
font = "${fonts.monospace.name}:size=${toString fonts.sizes.applications}";
|
||||
font = "${fonts.monospace.name}:size=${toString fonts.sizes.popups}";
|
||||
icon-theme = config.gtk.iconTheme.name;
|
||||
icons-enabled = true;
|
||||
fields = "filename,name,generic,categories";
|
||||
fuzzy = true;
|
||||
filter-desktop = true;
|
||||
terminal = with config.programs; "${
|
||||
if alacritty.enable
|
||||
then alacritty.package
|
||||
else pkgs.alacritty
|
||||
}/bin/alacritty -e";
|
||||
lines = 40;
|
||||
lines = 24;
|
||||
width = 80;
|
||||
tabs = 4;
|
||||
layer = "overlay";
|
||||
};
|
||||
colors = with config.scheme; {
|
||||
background = "${base00}5A"; # 90% opacity
|
||||
text = "${base05}FF";
|
||||
match = "${red}FF";
|
||||
selection = "${base01}FF";
|
||||
selection-text = "${base05}FF";
|
||||
selection-match = "${red}FF";
|
||||
border = "${config.scheme.${accentColour}}FF";
|
||||
colors = let
|
||||
sc = config.scheme;
|
||||
in {
|
||||
background = "${sc.base00}cc"; # 80% Opacity
|
||||
text = "${sc.base05}ff";
|
||||
match = "${sc.red}ff";
|
||||
selection = "${sc.base01}ff";
|
||||
selection-text = "${sc.base05}ff";
|
||||
selection-match = "${sc.red}ff";
|
||||
border = "${sc.${accentColourName}}ff";
|
||||
};
|
||||
border = {
|
||||
width = 1;
|
26
programs/desktop/mako/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
config,
|
||||
fonts,
|
||||
accentColourName,
|
||||
...
|
||||
}: {
|
||||
services.mako = let
|
||||
sc = config.scheme.withHashtag;
|
||||
in {
|
||||
enable = true;
|
||||
anchor = "top-right";
|
||||
font = "${fonts.monospace.name} ${toString fonts.sizes.popups}";
|
||||
layer = "top";
|
||||
markup = true;
|
||||
maxVisible = 10;
|
||||
icons = true;
|
||||
iconPath = with config.gtk.iconTheme; "${package}/share/icons/${name}";
|
||||
textColor = "${sc.base05}ff";
|
||||
progressColor = "over ${sc.red}ff";
|
||||
backgroundColor = "${sc.base00}cc";
|
||||
borderColor = "${sc.${accentColourName}}ff";
|
||||
borderRadius = 10;
|
||||
borderSize = 1;
|
||||
defaultTimeout = 0;
|
||||
};
|
||||
}
|
77
programs/desktop/mimeapps.nix
Normal file
|
@ -0,0 +1,77 @@
|
|||
let
|
||||
emacs = ["emacsclient.desktop" "emacs.desktop"];
|
||||
browser = ["firefox.desktop" "nyxt.desktop"];
|
||||
in {
|
||||
"inode/directory" = ["thunar.desktop"];
|
||||
"inode/symlink" = ["thunar.desktop"];
|
||||
|
||||
"image/jpeg" = ["swayimg.desktop"];
|
||||
"image/png" = ["swayimg.desktop"];
|
||||
"video/mp4" = ["mpv.desktop"];
|
||||
|
||||
"text/plain" = emacs;
|
||||
"text/richtext" = emacs;
|
||||
"text/org" = emacs;
|
||||
"text/markdown" = emacs;
|
||||
"text/rust" = emacs;
|
||||
"text/csv" = emacs;
|
||||
"text/html" = emacs;
|
||||
"text/css" = emacs;
|
||||
"text/tab-separated-values" = emacs;
|
||||
|
||||
"text/x-emacs-lisp" = emacs;
|
||||
"text/x-fortran" = emacs;
|
||||
"text/x-idl" = emacs;
|
||||
"text/x-log" = emacs;
|
||||
"text/x-lua" = emacs;
|
||||
"text/x-makefile" = emacs;
|
||||
"text/x-cmake" = emacs;
|
||||
"text/x-python" = emacs;
|
||||
"text/x-python3" = emacs;
|
||||
"text/x-readme" = emacs;
|
||||
"text/x-scheme" = emacs;
|
||||
"text/x-tex" = emacs;
|
||||
"text/x-texinfo" = emacs;
|
||||
|
||||
"application/json" = emacs;
|
||||
"application/toml" = emacs;
|
||||
"application/yaml" = emacs;
|
||||
"application/xml" = emacs;
|
||||
"application/rss+xml" = emacs;
|
||||
"application/xhtml+xml" = emacs;
|
||||
"application/oxps" = emacs;
|
||||
"application/x-shellscript" = emacs;
|
||||
"application/x-docbook+xml" = emacs;
|
||||
"application/x-yaml" = emacs;
|
||||
|
||||
"application/pdf" = ["evince.desktop"];
|
||||
"application/epub+zip" = ["evince.desktop"];
|
||||
"application/msword" = ["writer.desktop"];
|
||||
"application/zip" = ["xarchiver.desktop"];
|
||||
|
||||
"application/x-extension-htm" = browser;
|
||||
"application/x-extension-html" = browser;
|
||||
"application/x-extension-shtml" = browser;
|
||||
"application/x-extension-xhtml" = browser;
|
||||
"application/x-extension-xht" = browser;
|
||||
"application/x-mozilla-bookmarks" = browser;
|
||||
"application/x-zoom" = ["Zoom.desktop"] ++ browser;
|
||||
|
||||
"x-scheme-handler/http" = browser;
|
||||
"x-scheme-handler/https" = browser;
|
||||
"x-scheme-handler/about" = browser;
|
||||
"x-scheme-handler/chrome" = browser;
|
||||
"x-scheme-handler/webcal" = browser;
|
||||
"x-scheme-handler/geo" = ["openstreetmap-geo-handler.desktop"];
|
||||
"x-scheme-handler/mailto" = ["emacsclient-mail.desktop"];
|
||||
"x-scheme-handler/unknown" = emacs;
|
||||
|
||||
"x-scheme-handler/prusaslicer" = ["PrusaSlicerURLProtocol.desktop"];
|
||||
|
||||
"x-scheme-handler/ms-word" = ["writer.desktop"];
|
||||
"x-scheme-handler/ms-powerpoint" = ["impress.desktop"];
|
||||
"x-scheme-handler/ms-excel" = ["calc.desktop"];
|
||||
"x-scheme-handler/msteams" = ["teams-for-linux.desktop"] ++ browser;
|
||||
"x-scheme-handler/zoomus" = ["Zoom.desktop"] ++ browser;
|
||||
"x-scheme-handler/zoommtg" = ["Zoom.desktop"] ++ browser;
|
||||
}
|
186
programs/desktop/niri/config.kdl
Normal file
|
@ -0,0 +1,186 @@
|
|||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "gb"
|
||||
options "grp:win_space_toggle,compose:ralt,ctrl:nocaps"
|
||||
}
|
||||
}
|
||||
touchpad {
|
||||
tap
|
||||
natural-scroll
|
||||
}
|
||||
warp-mouse-to-focus
|
||||
}
|
||||
|
||||
layout {
|
||||
gaps 16
|
||||
center-focused-column "never"
|
||||
preset-column-widths {
|
||||
proportion 0.5
|
||||
proportion 0.75
|
||||
}
|
||||
default-column-width { proportion 0.75; }
|
||||
focus-ring {
|
||||
off
|
||||
width 1
|
||||
active-color "#7fc8ff"
|
||||
inactive-color "#505050"
|
||||
}
|
||||
border {
|
||||
off
|
||||
width 1
|
||||
active-color "#ffc87f"
|
||||
inactive-color "#505050"
|
||||
}
|
||||
struts {
|
||||
left 64
|
||||
right 64
|
||||
}
|
||||
}
|
||||
|
||||
cursor {
|
||||
xcursor-theme "volantes_cursors"
|
||||
xcursor-size 32
|
||||
}
|
||||
|
||||
prefer-no-csd
|
||||
|
||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||
|
||||
spawn-at-startup "set-background"
|
||||
|
||||
binds {
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
Super+Alt+L { spawn "swaylockfx"; }
|
||||
|
||||
Mod+F1 { spawn "swaylockfx"; }
|
||||
Mod+P { spawn "wlogout"; }
|
||||
Mod+D { spawn "fuzzel"; }
|
||||
Mod+Return { spawn "alacritty"; }
|
||||
Mod+Shift+Return { spawn "emacsclient" "-c"; }
|
||||
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn "volumectl" "-u" "+" "5"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn "volumectl" "-u" "-" "5"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn "volumectl" "%"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn "volumectl" "-m" "%"; }
|
||||
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "lightctl" "+" "5"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "lightctl" "-" "5"; }
|
||||
|
||||
Mod+Q { close-window; }
|
||||
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+Down { focus-window-down; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
|
||||
Mod+Ctrl+Left { move-column-left; }
|
||||
Mod+Ctrl+Down { move-window-down; }
|
||||
Mod+Ctrl+Up { move-window-up; }
|
||||
Mod+Ctrl+Right { move-column-right; }
|
||||
Mod+Ctrl+H { move-column-left; }
|
||||
Mod+Ctrl+J { move-window-down; }
|
||||
Mod+Ctrl+K { move-window-up; }
|
||||
Mod+Ctrl+L { move-column-right; }
|
||||
|
||||
Mod+Home { focus-column-first; }
|
||||
Mod+End { focus-column-last; }
|
||||
Mod+Ctrl+Home { move-column-to-first; }
|
||||
Mod+Ctrl+End { move-column-to-last; }
|
||||
|
||||
Mod+Shift+Left { focus-monitor-left; }
|
||||
Mod+Shift+Down { focus-monitor-down; }
|
||||
Mod+Shift+Up { focus-monitor-up; }
|
||||
Mod+Shift+Right { focus-monitor-right; }
|
||||
Mod+Shift+H { focus-monitor-left; }
|
||||
Mod+Shift+J { focus-monitor-down; }
|
||||
Mod+Shift+K { focus-monitor-up; }
|
||||
Mod+Shift+L { focus-monitor-right; }
|
||||
|
||||
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||
|
||||
Mod+Page_Down { focus-workspace-down; }
|
||||
Mod+Page_Up { focus-workspace-up; }
|
||||
Mod+U { focus-workspace-down; }
|
||||
Mod+I { focus-workspace-up; }
|
||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||
Mod+Ctrl+U { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+I { move-column-to-workspace-up; }
|
||||
|
||||
Mod+Shift+Page_Down { move-workspace-down; }
|
||||
Mod+Shift+Page_Up { move-workspace-up; }
|
||||
Mod+Shift+U { move-workspace-down; }
|
||||
Mod+Shift+I { move-workspace-up; }
|
||||
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||
|
||||
Mod+WheelScrollRight { focus-column-right; }
|
||||
Mod+WheelScrollLeft { focus-column-left; }
|
||||
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
||||
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
||||
|
||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
||||
|
||||
Mod+1 { focus-workspace 1; }
|
||||
Mod+2 { focus-workspace 2; }
|
||||
Mod+3 { focus-workspace 3; }
|
||||
Mod+4 { focus-workspace 4; }
|
||||
Mod+5 { focus-workspace 5; }
|
||||
Mod+6 { focus-workspace 6; }
|
||||
Mod+7 { focus-workspace 7; }
|
||||
Mod+8 { focus-workspace 8; }
|
||||
Mod+9 { focus-workspace 9; }
|
||||
Mod+Ctrl+1 { move-column-to-workspace 1; }
|
||||
Mod+Ctrl+2 { move-column-to-workspace 2; }
|
||||
Mod+Ctrl+3 { move-column-to-workspace 3; }
|
||||
Mod+Ctrl+4 { move-column-to-workspace 4; }
|
||||
Mod+Ctrl+5 { move-column-to-workspace 5; }
|
||||
Mod+Ctrl+6 { move-column-to-workspace 6; }
|
||||
Mod+Ctrl+7 { move-column-to-workspace 7; }
|
||||
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
||||
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
||||
|
||||
Mod+Comma { consume-window-into-column; }
|
||||
Mod+Period { expel-window-from-column; }
|
||||
|
||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||
Mod+BracketRight { consume-or-expel-window-right; }
|
||||
|
||||
Mod+R { switch-preset-column-width; }
|
||||
Mod+Shift+R { reset-window-height; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
Mod+C { center-column; }
|
||||
|
||||
Mod+Minus { set-column-width "-10%"; }
|
||||
Mod+Equal { set-column-width "+10%"; }
|
||||
|
||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||
|
||||
Print { screenshot; }
|
||||
Ctrl+Print { screenshot-screen; }
|
||||
Alt+Print { screenshot-window; }
|
||||
|
||||
Mod+Shift+E { quit; }
|
||||
|
||||
Mod+Shift+P { power-off-monitors; }
|
||||
}
|
4
programs/desktop/niri/default.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
xdg.configFile."niri/config.kdl".source = ./config.kdl;
|
||||
home.packages = with pkgs; [playerctl];
|
||||
}
|
217
programs/desktop/plasma6/default.nix
Normal file
|
@ -0,0 +1,217 @@
|
|||
{
|
||||
pkgs,
|
||||
fonts,
|
||||
rc2nix,
|
||||
...
|
||||
}: {
|
||||
imports = [./konsole.nix];
|
||||
home.packages = with pkgs; [
|
||||
rc2nix
|
||||
wl-clipboard
|
||||
volantes-cursors
|
||||
(papirus-icon-theme.override {color = "breeze";})
|
||||
];
|
||||
services.gpg-agent.pinentryPackage = pkgs.pinentry-qt;
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
overrideConfig = true;
|
||||
|
||||
workspace = {
|
||||
clickItemTo = "open";
|
||||
lookAndFeel = "org.kde.breeze.desktop";
|
||||
theme = "breeze-light";
|
||||
colorScheme = "BreezeLight";
|
||||
cursor = {
|
||||
theme = "volantes_cursors";
|
||||
size = 32;
|
||||
};
|
||||
iconTheme = "Papirus";
|
||||
wallpaper = "${../wallpapers/landscapes/tropic_island_day.jpg}";
|
||||
};
|
||||
|
||||
fonts = let
|
||||
general = {
|
||||
family = fonts.sansSerif.name;
|
||||
pointSize = 12;
|
||||
};
|
||||
small = {
|
||||
inherit (general) family;
|
||||
pointSize = general.pointSize - 2;
|
||||
};
|
||||
fixedWidth = {
|
||||
family = fonts.monospace.name;
|
||||
pointSize = 12;
|
||||
};
|
||||
in {
|
||||
inherit general small fixedWidth;
|
||||
menu = general;
|
||||
toolbar = general;
|
||||
windowTitle = small;
|
||||
};
|
||||
|
||||
hotkeys.commands = {
|
||||
"launch-emacs" = {
|
||||
name = "Launch Emacs Client Window";
|
||||
key = "Meta+Alt+X";
|
||||
command = "emacsclient -c";
|
||||
};
|
||||
};
|
||||
|
||||
panels = [
|
||||
{
|
||||
height = 32;
|
||||
lengthMode = "fill";
|
||||
location = "bottom";
|
||||
alignment = "center";
|
||||
hiding = "normalpanel";
|
||||
floating = true;
|
||||
widgets = [
|
||||
{
|
||||
name = "org.kde.plasma.kickoff";
|
||||
config.General = {
|
||||
icon = "nix-snowflake";
|
||||
primaryActions = "0";
|
||||
favoritesDisplay = "0";
|
||||
applicationsDisplay = "1";
|
||||
pin = "true";
|
||||
showActionButtonCaptions = "true";
|
||||
compactMode = "false";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "org.kde.plasma.icontasks";
|
||||
config.General = {
|
||||
maxStripes = "1";
|
||||
showToolTips = "true";
|
||||
launchers = [
|
||||
"applications:systemsettings.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
"preferred://filemanager"
|
||||
"preferred://browser"
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "org.kde.plasma.pager";
|
||||
config.General = {
|
||||
showWindowIcons = "true";
|
||||
showOnlyCurrentScreen = "false";
|
||||
wrapPage = "true";
|
||||
};
|
||||
}
|
||||
"org.kde.plasma.cameraindicator"
|
||||
{
|
||||
systemTray = {
|
||||
icons = {
|
||||
spacing = "small";
|
||||
scaleToFit = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
digitalClock = {
|
||||
date = {
|
||||
enable = true;
|
||||
format = "isoDate";
|
||||
position = "besideTime";
|
||||
};
|
||||
time = {
|
||||
format = "24h";
|
||||
showSeconds = "onlyInTooltip";
|
||||
};
|
||||
calendar.showWeekNumbers = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "org.kde.plasma.userswitcher";
|
||||
config.General = {
|
||||
showFace = "true";
|
||||
showName = "false";
|
||||
showFullName = "true";
|
||||
showTechnicalInfo = "true";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
shortcuts = {
|
||||
ksmserver = {
|
||||
"Lock Session" = ["Screensaver" "Meta+Alt+L"];
|
||||
};
|
||||
kwin = {
|
||||
"Walk Through Windows of Current Application" = "Alt+`";
|
||||
"Walk Through Windows of Current Application (Reverse)" = "Alt+¬";
|
||||
"ToggleMouseClick" = "Meta+*";
|
||||
"Expose" = "Meta+,";
|
||||
"Switch Window Down" = "Meta+J";
|
||||
"Switch Window Left" = "Meta+H";
|
||||
"Switch Window Right" = "Meta+L";
|
||||
"Switch Window Up" = "Meta+K";
|
||||
};
|
||||
};
|
||||
|
||||
kwin = {
|
||||
virtualDesktops = {
|
||||
rows = 1;
|
||||
number = 4;
|
||||
};
|
||||
effects = {
|
||||
translucency.enable = true;
|
||||
blur.enable = true;
|
||||
cube.enable = true;
|
||||
dimAdminMode.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
configFile = {
|
||||
baloofilerc."Basic Settings"."Indexing-Enabled" = false;
|
||||
plasmanotifyrc.Notifications.NormalAlwaysOnTop = true;
|
||||
kcminputrc.Keyboard.NumLock = 1;
|
||||
krunnerrc.General.FreeFloating = true;
|
||||
kscreenlockerrc = {
|
||||
Daemon.Timeout = 15;
|
||||
Greeter.WallpaperPlugin = "org.kde.potd";
|
||||
};
|
||||
klipperrc = {
|
||||
General = {
|
||||
SyncClipboards = true;
|
||||
MaxClipItems = 5;
|
||||
IgnoreImages = false;
|
||||
KeepClipboardContents = false;
|
||||
};
|
||||
};
|
||||
kdeglobals = {
|
||||
General = {
|
||||
TerminalApplication = "konsole";
|
||||
TerminalService = "org.kde.konsole.desktop";
|
||||
};
|
||||
};
|
||||
kwinrc = {
|
||||
Plugins = {
|
||||
frozenappEnabled = false;
|
||||
mouseclickEnabled = true;
|
||||
shakecursorEnabled = true;
|
||||
};
|
||||
Windows = {
|
||||
FocusPolicy = "FocusFollowsMouse";
|
||||
RollOverDesktops = true;
|
||||
};
|
||||
Tiling.padding = 10;
|
||||
NightColor = {
|
||||
Active = true;
|
||||
Mode = "Location";
|
||||
LatitudeFixed = "51.7";
|
||||
LongitudeFixed = "-1.2";
|
||||
};
|
||||
"Effect-translucency" = {
|
||||
Inactive = 100;
|
||||
MoveResize = 80;
|
||||
Dialogs = 80;
|
||||
ComboboxPopups = 80;
|
||||
Menus = 80;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
32
programs/desktop/plasma6/konsole.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
pkgs,
|
||||
fonts,
|
||||
...
|
||||
}: {
|
||||
home.packages = [pkgs.kdePackages.yakuake];
|
||||
programs.konsole = {
|
||||
enable = true;
|
||||
defaultProfile = "One-Light";
|
||||
customColorSchemes.onelight = ./onelight.colorscheme;
|
||||
profiles.onelight = {
|
||||
name = "One-Light";
|
||||
colorScheme = "onelight";
|
||||
font = {
|
||||
name = fonts.monospace.name;
|
||||
size = fonts.sizes.terminal;
|
||||
};
|
||||
extraConfig = {
|
||||
"Interaction Options" = {
|
||||
"TextEditorCmd" = 6;
|
||||
"TextEditorCmdCustom" = "emacsclient -c +LINE:COLUMN PATH";
|
||||
"UnderlineFilesEnabled" = "true";
|
||||
"OpenLinksByDirectClickEnabled" = "true";
|
||||
};
|
||||
"Terminal Features" = {
|
||||
"BlinkingCursorEnabled" = "true";
|
||||
"VerticalLine" = "false";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
100
programs/desktop/plasma6/onelight.colorscheme
Normal file
|
@ -0,0 +1,100 @@
|
|||
[Background]
|
||||
Color=250,250,250
|
||||
|
||||
[BackgroundFaint]
|
||||
Color=250,250,250
|
||||
|
||||
[BackgroundIntense]
|
||||
Color=250,250,250
|
||||
|
||||
[Color0]
|
||||
Color=250,250,250
|
||||
|
||||
[Color0Faint]
|
||||
Color=160,161,167
|
||||
|
||||
[Color0Intense]
|
||||
Color=160,161,167
|
||||
|
||||
[Color1]
|
||||
Color=202,18,67
|
||||
|
||||
[Color1Faint]
|
||||
Color=202,18,67
|
||||
|
||||
[Color1Intense]
|
||||
Color=202,18,67
|
||||
|
||||
[Color2]
|
||||
Color=80,161,79
|
||||
|
||||
[Color2Faint]
|
||||
Color=80,161,79
|
||||
|
||||
[Color2Intense]
|
||||
Color=80,161,79
|
||||
|
||||
[Color3]
|
||||
Color=215,95,0
|
||||
|
||||
[Color3Faint]
|
||||
Color=215,95,0
|
||||
|
||||
[Color3Intense]
|
||||
Color=215,95,0
|
||||
|
||||
[Color4]
|
||||
Color=64,120,242
|
||||
|
||||
[Color4Faint]
|
||||
Color=64,120,242
|
||||
|
||||
[Color4Intense]
|
||||
Color=64,120,242
|
||||
|
||||
[Color5]
|
||||
Color=166,38,164
|
||||
|
||||
[Color5Faint]
|
||||
Color=166,38,164
|
||||
|
||||
[Color5Intense]
|
||||
Color=166,38,164
|
||||
|
||||
[Color6]
|
||||
Color=1,132,188
|
||||
|
||||
[Color6Faint]
|
||||
Color=1,132,188
|
||||
|
||||
[Color6Intense]
|
||||
Color=1,132,188
|
||||
|
||||
[Color7]
|
||||
Color=56,58,66
|
||||
|
||||
[Color7Faint]
|
||||
Color=9,10,11
|
||||
|
||||
[Color7Intense]
|
||||
Color=9,10,11
|
||||
|
||||
[Foreground]
|
||||
Color=56,58,66
|
||||
|
||||
[ForegroundFaint]
|
||||
Color=56,58,66
|
||||
|
||||
[ForegroundIntense]
|
||||
Color=56,58,66
|
||||
|
||||
[General]
|
||||
Anchor=0.5,0.5
|
||||
Blur=true
|
||||
ColorRandomization=false
|
||||
Description=One Light
|
||||
FillStyle=Tile
|
||||
Opacity=0.9
|
||||
Wallpaper=
|
||||
WallpaperFlipType=NoFlip
|
||||
WallpaperOpacity=1
|
|
@ -2,7 +2,7 @@
|
|||
config,
|
||||
pkgs,
|
||||
fonts,
|
||||
accentColour ? "base07",
|
||||
accentColourName,
|
||||
...
|
||||
}: {
|
||||
programs.rofi = {
|
||||
|
@ -36,15 +36,15 @@
|
|||
display-emoji = " Emoji ";
|
||||
display-combi = " Combi ";
|
||||
};
|
||||
theme = with builtins;
|
||||
with config.scheme; let
|
||||
theme = with builtins; let
|
||||
inherit (config.lib.formats.rasi) mkLiteral;
|
||||
bg = mkLiteral "rgba (${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, 80%)";
|
||||
bg2 = mkLiteral "rgba (${base01-rgb-r}, ${base01-rgb-g}, ${base01-rgb-b}, 100%)";
|
||||
fg = mkLiteral withHashtag.base05;
|
||||
fg2 = mkLiteral withHashtag.base04;
|
||||
border = mkLiteral withHashtag.${accentColour};
|
||||
blue = mkLiteral withHashtag.blue;
|
||||
sc = config.scheme;
|
||||
bg = mkLiteral "rgba (${sc.base00-rgb-r}, ${sc.base00-rgb-g}, ${sc.base00-rgb-b}, 80%)";
|
||||
bg2 = mkLiteral "rgba (${sc.base01-rgb-r}, ${sc.base01-rgb-g}, ${sc.base01-rgb-b}, 100%)";
|
||||
fg = mkLiteral sc.withHashtag.base05;
|
||||
fg2 = mkLiteral sc.withHashtag.base04;
|
||||
border = mkLiteral sc.withHashtag.${accentColour};
|
||||
blue = mkLiteral sc.withHashtag.blue;
|
||||
in {
|
||||
"*" = {
|
||||
background-color = mkLiteral "transparent";
|
|
@ -3,33 +3,11 @@
|
|||
lib,
|
||||
pkgs,
|
||||
fonts,
|
||||
accentColour ? "base07",
|
||||
accentColourName,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./alacritty/default.nix
|
||||
./avizo/default.nix
|
||||
./fuzzel/default.nix
|
||||
./swaylock/default.nix
|
||||
./swayidle/default.nix
|
||||
./swaync/default.nix
|
||||
./waybar/default.nix
|
||||
./wlogout/default.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
swaybg
|
||||
(writeShellScriptBin "protonmail-setup-bridge" ''
|
||||
pkill -9 -f protonmail-bridge
|
||||
${protonmail-bridge}/bin/protonmail-bridge -c
|
||||
swaymsg exec "${protonmail-bridge}/bin/protonmail-bridge -n"
|
||||
'')
|
||||
(writeShellScriptBin "davmail-setup" ''
|
||||
systemctl --user restart davmail # Ensure config file is present
|
||||
systemctl --user stop davmail
|
||||
${davmail}/bin/davmail -n ~/.davmail.properties
|
||||
systemctl --user restart davmail
|
||||
'')
|
||||
];
|
||||
programs.waybar.systemd.target = lib.mkIf config.wayland.windowManager.sway.systemd.enable "sway-session.target";
|
||||
services.kanshi.systemdTarget = lib.mkIf config.wayland.windowManager.sway.systemd.enable "sway-session.target";
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
package =
|
||||
|
@ -38,6 +16,7 @@
|
|||
swaynag.enable = true;
|
||||
systemd.enable = true;
|
||||
xwayland = true;
|
||||
checkConfig = false;
|
||||
config = {
|
||||
input = {
|
||||
"*" = {
|
||||
|
@ -68,63 +47,76 @@
|
|||
style = "regular";
|
||||
size = fonts.sizes.desktop * 1.0;
|
||||
};
|
||||
colors = with config.scheme.withHashtag; let
|
||||
text = toString base05;
|
||||
indicator = toString cyan;
|
||||
in rec {
|
||||
background = toString base00;
|
||||
focused = rec {
|
||||
inherit background text indicator;
|
||||
border = toString config.scheme.withHashtag.${accentColour};
|
||||
colors = let
|
||||
sc = config.scheme.withHashtag;
|
||||
text = toString sc.base05;
|
||||
indicator = toString sc.${accentColourName};
|
||||
background = toString sc.base00;
|
||||
in {
|
||||
inherit background;
|
||||
focused = let
|
||||
border = toString sc.${accentColourName};
|
||||
in {
|
||||
inherit background text indicator border;
|
||||
childBorder = border;
|
||||
};
|
||||
focusedInactive = rec {
|
||||
inherit background text indicator;
|
||||
border = toString base04;
|
||||
focusedInactive = let
|
||||
border = toString sc.base04;
|
||||
in {
|
||||
inherit background text indicator border;
|
||||
childBorder = border;
|
||||
};
|
||||
unfocused = rec {
|
||||
inherit background text indicator;
|
||||
border = toString base03;
|
||||
unfocused = let
|
||||
border = toString sc.base03;
|
||||
in {
|
||||
inherit background text indicator border;
|
||||
childBorder = border;
|
||||
};
|
||||
urgent = rec {
|
||||
inherit background text indicator;
|
||||
border = toString red;
|
||||
urgent = let
|
||||
border = toString sc.red;
|
||||
in {
|
||||
inherit background text indicator border;
|
||||
childBorder = border;
|
||||
};
|
||||
};
|
||||
startup = [
|
||||
{command = "${pkgs.swaynotificationcenter}/bin/swaync";}
|
||||
{command = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1";}
|
||||
{command = "${pkgs.protonmail-bridge}/bin/protonmail-bridge -n";}
|
||||
{command = "${pkgs.swaybg}/bin/swaybg -m fill -i ${../../wallpapers/default.jpg}";}
|
||||
{command = "set-background";}
|
||||
];
|
||||
window = {
|
||||
border = 1;
|
||||
commands =
|
||||
(map (criteria: {
|
||||
inherit criteria;
|
||||
command = "floating enable";
|
||||
}) [
|
||||
{app_id = "org.kde.polkit-kde-authentication-agent-1";}
|
||||
{app_id = "Pinentry";}
|
||||
{app_id = "pavucontrol";}
|
||||
{app_id = "\.blueman-manager-wrapped";}
|
||||
{app_id = "nm-connection-editor";}
|
||||
{app_id = "thunar";}
|
||||
{class = "[Mm]atplotlib";}
|
||||
{class = ".*\.py";}
|
||||
{class = "Idl";}
|
||||
])
|
||||
++ (map (criteria: {
|
||||
inherit criteria;
|
||||
command = "layout tabbed";
|
||||
}) [
|
||||
{class = "Nxplayer\.bin";}
|
||||
{app_id = "Nxplayer\.bin";}
|
||||
])
|
||||
++ [];
|
||||
titlebar = false;
|
||||
commands = [
|
||||
{
|
||||
criteria.window_role = "(?:pop-up|bubble|dialog)";
|
||||
command = "floating enable";
|
||||
}
|
||||
{
|
||||
criteria.app_id = "(?:org\.kde\.polkit-kde-authentication-agent-1|Pinentry|pavucontrol|\.blueman-manager-wrapped|nm-connection-editor)";
|
||||
command = "floating enable";
|
||||
}
|
||||
{
|
||||
criteria.class = "(?:[Mm]atplotlib|.*\.py|Idl)";
|
||||
command = "floating enable";
|
||||
}
|
||||
{
|
||||
# Catch-all for file dialog windows
|
||||
criteria.title = "(?:Open|Save) (?:File|Folder|As)";
|
||||
command = "floating enable, resize set width 1030 height 710";
|
||||
}
|
||||
{
|
||||
# Inhibit idle when watching vidoes
|
||||
criteria.app_id = "(?:firefox|mpv)";
|
||||
command = "inhibit_idle fullscreen";
|
||||
}
|
||||
{
|
||||
# Window rules for game sessions.
|
||||
# Note: controllers don't reset idle timer
|
||||
criteria.class = "(?:steam_app|Minecraft).*";
|
||||
command = "floating enable, fullscreen enable, inhibit_idle focus";
|
||||
}
|
||||
];
|
||||
};
|
||||
floating.border = 1;
|
||||
keybindings = with config; let
|
||||
|
@ -157,10 +149,10 @@
|
|||
"XF86MonBrightnessDown" = "exec ${services.avizo.package}/bin/lightctl - 5";
|
||||
|
||||
# System utilities
|
||||
"${modifier}+F1" = "exec swaylockfx";
|
||||
"${modifier}+p" = "exec ${programs.wlogout.package}/bin/wlogout";
|
||||
"${modifier}+z" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw";
|
||||
"${modifier}+Shift+z" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client -d -sw";
|
||||
"Mod4+Mod1+l" = "exec swaylockfx";
|
||||
"${modifier}+z" = "exec ${pkgs.mako}/bin/makoctl dismiss -a";
|
||||
"${modifier}+Shift+z" = "exec ${pkgs.mako}/bin/makoctl restore";
|
||||
"${modifier}+Shift+p" = "exec ${programs.wlogout.package}/bin/wlogout";
|
||||
"${modifier}+Shift+Return" = "exec ${programs.emacs.finalPackage}/bin/emacsclient -c";
|
||||
};
|
||||
};
|
||||
|
@ -175,13 +167,13 @@
|
|||
corner_radius 10
|
||||
shadows disable
|
||||
shadow_blur_radius 0
|
||||
layer_effects "system-menu" blur enable; blur_ignore_transparent enable; shadows disable
|
||||
layer_effects "gtk-layer-shell" blur enable; blur_ignore_transparent enable; shadows disable
|
||||
layer_effects "launcher" blur enable; blur_ignore_transparent enable; shadows disable
|
||||
layer_effects "waybar" blur enable; blur_ignore_transparent enable; shadows disable
|
||||
layer_effects "avizo" blur enable; blur_ignore_transparent enable; shadows disable
|
||||
layer_effects "swaync-notification-window" blur enable; blur_ignore_transparent enable; shadows disable
|
||||
layer_effects "swaync-control-center" blur enable; blur_ignore_transparent enable; shadows disable
|
||||
layer_effects "system-menu" blur enable; shadows disable
|
||||
layer_effects "gtk-layer-shell" blur enable; shadows disable
|
||||
layer_effects "notifications" blur enable; shadows disable
|
||||
layer_effects "launcher" blur enable; shadows disable
|
||||
layer_effects "logout_dialog" blur enable; shadows disable
|
||||
layer_effects "waybar" blur enable; shadows disable
|
||||
layer_effects "avizo" blur enable; shadows disable
|
||||
titlebar_separator enable
|
||||
scratchpad_minimize enable
|
||||
'';
|
48
programs/desktop/swaylock/default.nix
Normal file
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
accentColourName,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
(callPackage ./swaylockfx.nix
|
||||
{swaylock-effects = config.programs.swaylock.package;})
|
||||
];
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
package = pkgs.swaylock-effects;
|
||||
# Settings are specifically for swaylock-effects
|
||||
settings = let
|
||||
sc = config.scheme;
|
||||
in {
|
||||
indicator-radius = 100;
|
||||
indicator-thickness = 10;
|
||||
indicator-caps-lock = true;
|
||||
ignore-empty-password = true;
|
||||
show-failed-attempts = true;
|
||||
effect-blur = "5x3";
|
||||
effect-vignette = "0.5:0.5";
|
||||
grace = 2;
|
||||
fade-in = 0.2;
|
||||
bs-hl-color = sc.base06;
|
||||
caps-lock-bs-hl-color = sc.base06;
|
||||
caps-lock-key-hl-color = sc.green;
|
||||
inside-color = "${sc.base00}cc";
|
||||
key-hl-color = sc.green;
|
||||
layout-bg-color = "${sc.base00}cc";
|
||||
layout-border-color = sc.${accentColourName};
|
||||
layout-text-color = sc.base05;
|
||||
ring-color = sc.${accentColourName};
|
||||
ring-clear-color = sc.base06;
|
||||
ring-caps-lock-color = sc.base09;
|
||||
ring-ver-color = sc.blue;
|
||||
ring-wrong-color = sc.red;
|
||||
separator-color = sc.base01;
|
||||
text-color = sc.base05;
|
||||
text-clear-color = sc.base06;
|
||||
text-caps-lock-color = sc.base09;
|
||||
text-ver-color = sc.blue;
|
||||
text-wrong-color = sc.red;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -2,11 +2,15 @@
|
|||
config,
|
||||
pkgs,
|
||||
fonts,
|
||||
accentColour ? "base07",
|
||||
accentColourName,
|
||||
...
|
||||
}: {
|
||||
home.packages = [pkgs.swaynotificationcenter];
|
||||
xdg.configFile."swaync/style.css".text = with config.scheme; ''
|
||||
xdg.configFile."swaync/style.css".text = let
|
||||
sc = config.scheme.withHashtag;
|
||||
alpha = "0.8";
|
||||
alpha-background = "rgba(${config.scheme.base00-rgb-r}, ${config.scheme.base00-rgb-g}, ${config.scheme.base00-rgb-b}, ${alpha})";
|
||||
in ''
|
||||
* {
|
||||
all: unset;
|
||||
font-size: 1.2rem;
|
||||
|
@ -17,10 +21,10 @@
|
|||
|
||||
.floating-notifications.background .notification-row .notification-background {
|
||||
border-radius: 10px;
|
||||
border: 1px solid ${withHashtag.${accentColour}};
|
||||
border: 1px solid ${sc.withHashtag.${accentColourName}};
|
||||
margin: 18px;
|
||||
background-color: rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, 0.9);
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${alpha-background};
|
||||
color: ${sc.base05};
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
@ -46,7 +50,7 @@
|
|||
.notification
|
||||
.notification-content
|
||||
.summary {
|
||||
color: ${withHashtag.base05};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.floating-notifications.background
|
||||
|
@ -55,7 +59,7 @@
|
|||
.notification
|
||||
.notification-content
|
||||
.time {
|
||||
color: ${withHashtag.base04};
|
||||
color: ${sc.base04};
|
||||
}
|
||||
|
||||
.floating-notifications.background
|
||||
|
@ -64,7 +68,7 @@
|
|||
.notification
|
||||
.notification-content
|
||||
.body {
|
||||
color: ${withHashtag.base05};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.floating-notifications.background
|
||||
|
@ -84,8 +88,8 @@
|
|||
> *
|
||||
.notification-action {
|
||||
border-radius: 10px;
|
||||
background-color: ${withHashtag.base01};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.base01};
|
||||
color: ${sc.base05};
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
|
@ -96,8 +100,8 @@
|
|||
> *:last-child
|
||||
> *
|
||||
.notification-action:hover {
|
||||
background-color: ${withHashtag.base01};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.base01};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.floating-notifications.background
|
||||
|
@ -107,8 +111,8 @@
|
|||
> *:last-child
|
||||
> *
|
||||
.notification-action:active {
|
||||
background-color: ${withHashtag.blue};
|
||||
color: ${withHashtag.base00};
|
||||
background-color: ${sc.blue};
|
||||
color: ${sc.base00};
|
||||
}
|
||||
|
||||
.floating-notifications.background
|
||||
|
@ -118,61 +122,61 @@
|
|||
margin: 7px;
|
||||
padding: 2px;
|
||||
border-radius: 10px;
|
||||
background-color: ${withHashtag.red};
|
||||
color: ${withHashtag.base00};
|
||||
background-color: ${sc.red};
|
||||
color: ${sc.base00};
|
||||
}
|
||||
|
||||
.floating-notifications.background
|
||||
.notification-row
|
||||
.notification-background
|
||||
.close-button:hover {
|
||||
background-color: ${withHashtag.red};
|
||||
color: ${withHashtag.base00};
|
||||
background-color: ${sc.red};
|
||||
color: ${sc.base00};
|
||||
}
|
||||
|
||||
.floating-notifications.background
|
||||
.notification-row
|
||||
.notification-background
|
||||
.close-button:active {
|
||||
background-color: ${withHashtag.red};
|
||||
color: ${withHashtag.base00};
|
||||
background-color: ${sc.red};
|
||||
color: ${sc.base00};
|
||||
}
|
||||
|
||||
.control-center {
|
||||
border-radius: 10px;
|
||||
border: 1px solid ${withHashtag.${accentColour}};
|
||||
border: 1px solid ${sc.${accentColourName}};
|
||||
margin: 18px;
|
||||
background-color: rgba(${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, 0.9);
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${alpha-background};
|
||||
color: ${sc.base05};
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.control-center .widget-title {
|
||||
color: ${withHashtag.base05};
|
||||
color: ${sc.base05};
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
.control-center .widget-title button {
|
||||
border-radius: 7px;
|
||||
background-color: ${withHashtag.base01};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.base01};
|
||||
color: ${sc.base05};
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.control-center .widget-title button:hover {
|
||||
background-color: ${withHashtag.base02};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.base02};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.control-center .widget-title button:active {
|
||||
background-color: ${withHashtag.base03};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.base03};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background {
|
||||
border-radius: 10px;
|
||||
background-color: ${withHashtag.base01};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.base01};
|
||||
color: ${sc.base05};
|
||||
margin-top: 14px;
|
||||
}
|
||||
|
||||
|
@ -195,7 +199,7 @@
|
|||
.notification
|
||||
.notification-content
|
||||
.summary {
|
||||
color: ${withHashtag.base05};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.control-center
|
||||
|
@ -204,7 +208,7 @@
|
|||
.notification
|
||||
.notification-content
|
||||
.time {
|
||||
color: ${withHashtag.base04};
|
||||
color: ${sc.base04};
|
||||
}
|
||||
|
||||
.control-center
|
||||
|
@ -213,7 +217,7 @@
|
|||
.notification
|
||||
.notification-content
|
||||
.body {
|
||||
color: ${withHashtag.base05};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.control-center
|
||||
|
@ -233,8 +237,8 @@
|
|||
> *
|
||||
.notification-action {
|
||||
border-radius: 7px;
|
||||
background-color: ${withHashtag.base00};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.base00};
|
||||
color: ${sc.base05};
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
|
@ -245,8 +249,8 @@
|
|||
> *:last-child
|
||||
> *
|
||||
.notification-action:hover {
|
||||
background-color: ${withHashtag.base01};;
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.base01};;
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.control-center
|
||||
|
@ -256,39 +260,39 @@
|
|||
> *:last-child
|
||||
> *
|
||||
.notification-action:active {
|
||||
background-color: ${withHashtag.blue};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.blue};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .close-button {
|
||||
margin: 7px;
|
||||
padding: 2px;
|
||||
border-radius: 6.3px;
|
||||
background-color: ${withHashtag.red};
|
||||
color: ${withHashtag.base00};
|
||||
background-color: ${sc.red};
|
||||
color: ${sc.base00};
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .close-button:hover {
|
||||
background-color: ${withHashtag.red};
|
||||
color: ${withHashtag.base00};
|
||||
background-color: ${sc.red};
|
||||
color: ${sc.base00};
|
||||
}
|
||||
|
||||
.control-center
|
||||
.notification-row
|
||||
.notification-background
|
||||
.close-button:active {
|
||||
background-color: ${withHashtag.red};
|
||||
color: ${withHashtag.base00};
|
||||
background-color: ${sc.red};
|
||||
color: ${sc.base00};
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background:hover {
|
||||
background-color: ${withHashtag.base00};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.base00};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background:active {
|
||||
background-color: ${withHashtag.blue};
|
||||
color: ${withHashtag.base05};
|
||||
background-color: ${sc.blue};
|
||||
color: ${sc.base05};
|
||||
}
|
||||
|
||||
progressbar,
|
||||
|
@ -298,35 +302,35 @@
|
|||
}
|
||||
|
||||
.notification.critical progress {
|
||||
background-color: ${withHashtag.red};
|
||||
background-color: ${sc.red};
|
||||
}
|
||||
|
||||
.notification.low progress,
|
||||
.notification.normal progress {
|
||||
background-color: ${withHashtag.blue};
|
||||
background-color: ${sc.blue};
|
||||
}
|
||||
|
||||
trough {
|
||||
background-color: ${withHashtag.base00};
|
||||
background-color: ${sc.base00};
|
||||
}
|
||||
|
||||
.control-center trough {
|
||||
background-color: ${withHashtag.base03};
|
||||
background-color: ${sc.base03};
|
||||
}
|
||||
|
||||
.control-center-dnd {
|
||||
margin-top: 5px;
|
||||
border-radius: 8px;
|
||||
background: ${withHashtag.base00};
|
||||
border: 1px solid ${withHashtag.base03};
|
||||
background: ${sc.base00};
|
||||
border: 1px solid ${sc.base03};
|
||||
}
|
||||
|
||||
.control-center-dnd:checked {
|
||||
background: ${withHashtag.base00};
|
||||
background: ${sc.base00};
|
||||
}
|
||||
|
||||
.control-center-dnd slider {
|
||||
background: ${withHashtag.base03};
|
||||
background: ${sc.base03};
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
|
@ -338,18 +342,18 @@
|
|||
.widget-dnd > switch {
|
||||
font-size: initial;
|
||||
border-radius: 8px;
|
||||
background: ${withHashtag.base00};
|
||||
border: 1px solid ${withHashtag.base03};
|
||||
background: ${sc.base00};
|
||||
border: 1px solid ${sc.base03};
|
||||
}
|
||||
|
||||
.widget-dnd > switch:checked {
|
||||
background: ${withHashtag.base00};
|
||||
background: ${sc.base00};
|
||||
}
|
||||
|
||||
.widget-dnd > switch slider {
|
||||
background: ${withHashtag.base01};
|
||||
background: ${sc.base01};
|
||||
border-radius: 8px;
|
||||
border: 1px solid ${withHashtag.${accentColour}};
|
||||
border: 1px solid ${sc.${accentColourName}};
|
||||
}
|
||||
|
||||
'';
|
Before Width: | Height: | Size: 562 KiB After Width: | Height: | Size: 562 KiB |
Before Width: | Height: | Size: 642 KiB After Width: | Height: | Size: 642 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 133 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 14 MiB After Width: | Height: | Size: 14 MiB |
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 183 KiB |
Before Width: | Height: | Size: 528 KiB After Width: | Height: | Size: 528 KiB |
Before Width: | Height: | Size: 27 MiB After Width: | Height: | Size: 27 MiB |
Before Width: | Height: | Size: 20 MiB After Width: | Height: | Size: 20 MiB |
Before Width: | Height: | Size: 286 KiB After Width: | Height: | Size: 286 KiB |
Before Width: | Height: | Size: 747 KiB After Width: | Height: | Size: 747 KiB |
Before Width: | Height: | Size: 7 MiB After Width: | Height: | Size: 7 MiB |
Before Width: | Height: | Size: 5.3 MiB After Width: | Height: | Size: 5.3 MiB |
Before Width: | Height: | Size: 7.8 MiB After Width: | Height: | Size: 7.8 MiB |
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 3.6 MiB |
Before Width: | Height: | Size: 4.3 MiB After Width: | Height: | Size: 4.3 MiB |
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 3.7 MiB |
Before Width: | Height: | Size: 1,000 KiB After Width: | Height: | Size: 1,000 KiB |
Before Width: | Height: | Size: 3.9 MiB After Width: | Height: | Size: 3.9 MiB |
Before Width: | Height: | Size: 4.8 MiB After Width: | Height: | Size: 4.8 MiB |
Before Width: | Height: | Size: 4 MiB After Width: | Height: | Size: 4 MiB |
Before Width: | Height: | Size: 4.3 MiB After Width: | Height: | Size: 4.3 MiB |
Before Width: | Height: | Size: 4 MiB After Width: | Height: | Size: 4 MiB |
Before Width: | Height: | Size: 5.1 MiB After Width: | Height: | Size: 5.1 MiB |
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 254 KiB |
Before Width: | Height: | Size: 250 KiB After Width: | Height: | Size: 250 KiB |
Before Width: | Height: | Size: 255 KiB After Width: | Height: | Size: 255 KiB |
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
Before Width: | Height: | Size: 249 KiB After Width: | Height: | Size: 249 KiB |
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 254 KiB |
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 247 KiB |
Before Width: | Height: | Size: 255 KiB After Width: | Height: | Size: 255 KiB |
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 254 KiB |
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |