Merge home-manager config back in to nixos config
Place home-manager config under home directory, move system config under system directory. Add hostname-specific entries under home directory to be consistent with how system is configured, update flake accordingly
|
@ -1,19 +0,0 @@
|
|||
{...}: {
|
||||
imports = [
|
||||
../services/caddy.nix
|
||||
../services/forgejo.nix
|
||||
../services/grafana.nix
|
||||
../services/minecraft.nix
|
||||
../services/nix-serve.nix
|
||||
../services/radicale.nix
|
||||
../services/sshd.nix
|
||||
../services/syncthing.nix
|
||||
# ../services/znc.nix
|
||||
];
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
users.mutableUsers = false;
|
||||
system.autoUpgrade.operation = "switch";
|
||||
}
|
100
flake.lock
|
@ -1,5 +1,60 @@
|
|||
{
|
||||
"nodes": {
|
||||
"base16": {
|
||||
"inputs": {
|
||||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709025227,
|
||||
"narHash": "sha256-KXcORItjYJTdEO/BlBd0Uym1Xa3eBu43uvpFiWjJOdY=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "4e9b16c8b44958bc6bf46d99c3bb1b59c9c9c764",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1689549921,
|
||||
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719827385,
|
||||
"narHash": "sha256-qs+nU20Sm8czHg3bhGCqiH+8e13BJyRrKONW34g3i50=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "391ca6e950c2525b4f853cbe29922452c14eda82",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"iosevka-custom": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
|
@ -50,10 +105,53 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plasma-manager": {
|
||||
"inputs": {
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719875930,
|
||||
"narHash": "sha256-jQmdWLxRP6BzOxRF8hQEhDD7UKw7UrnYbmaAPOSaXWY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "7e062fcd669e261fb06cf54fe0ef2e46c3db8e83",
|
||||
"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"
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"plasma-manager": "plasma-manager",
|
||||
"tt-schemes": "tt-schemes"
|
||||
}
|
||||
},
|
||||
"tt-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1718992165,
|
||||
"narHash": "sha256-9i9IjZcjvinb/214x5YShUDBZBC2189HYs26uGy/Hck=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "ef9a4c3c384624694608adebf0993d7a3bed3cf2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
182
flake.nix
|
@ -8,12 +8,32 @@
|
|||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
home-manager = {
|
||||
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 = {
|
||||
url = "github:tinted-theming/schemes";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
plasma-manager,
|
||||
iosevka-custom,
|
||||
base16,
|
||||
tt-schemes,
|
||||
...
|
||||
}: let
|
||||
defaultSpecialArgs = {system ? "x86_64-linux", ...}: {
|
||||
|
@ -22,15 +42,47 @@
|
|||
names = iosevka-custom.outputs.names;
|
||||
};
|
||||
};
|
||||
defaultExtraSpecialArgs = {
|
||||
hostname,
|
||||
system,
|
||||
}: let
|
||||
iosevkaCustom = {
|
||||
packages = iosevka-custom.outputs.packages.${system};
|
||||
names = iosevka-custom.outputs.names;
|
||||
};
|
||||
in {
|
||||
inherit hostname iosevkaCustom;
|
||||
inherit (plasma-manager.packages.${system}) rc2nix;
|
||||
accentColourName = "base0C";
|
||||
fonts = with iosevkaCustom; rec {
|
||||
sizes = {
|
||||
applications = 12;
|
||||
desktop = 10;
|
||||
popups = 14;
|
||||
terminal = 12;
|
||||
};
|
||||
serif = sansSerif;
|
||||
sansSerif = {
|
||||
name = names.iosevka-custom-aile;
|
||||
package = packages.iosevka-custom-aile;
|
||||
};
|
||||
monospace = {
|
||||
name = names.iosevka-custom-nerdfont;
|
||||
package = packages.iosevka-custom-nerdfont;
|
||||
};
|
||||
};
|
||||
};
|
||||
defaultModules = {
|
||||
system ? "x86_64-linux",
|
||||
username ? "pixelifytica",
|
||||
hostName ? "Atlas",
|
||||
userName ? "pixelifytica",
|
||||
loginShell ? "zsh",
|
||||
...
|
||||
}: [
|
||||
./configuration/default.nix
|
||||
./configuration/${hostName}.nix
|
||||
./hardware-configuration/${hostName}.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
./system/default.nix
|
||||
./system/${hostName}.nix
|
||||
./system/hardware-configuration/${hostName}.nix
|
||||
({
|
||||
config,
|
||||
lib,
|
||||
|
@ -38,33 +90,9 @@
|
|||
...
|
||||
}: {
|
||||
networking = {inherit hostName;};
|
||||
nix = {
|
||||
settings.trusted-users = [userName];
|
||||
registry = {
|
||||
my-nixos = {
|
||||
from = {
|
||||
type = "indirect";
|
||||
id = "my-nixos";
|
||||
};
|
||||
to = {
|
||||
type = "git";
|
||||
url = "https://git.xenia.me.uk/pixelifytica/nixos.git?ref=main";
|
||||
};
|
||||
};
|
||||
my-home-manager = {
|
||||
from = {
|
||||
type = "indirect";
|
||||
id = "my-home-manager";
|
||||
};
|
||||
to = {
|
||||
type = "git";
|
||||
url = "https://git.xenia.me.uk/pixelifytica/home-manager.git?ref=main";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
nix.settings.trusted-users = [username];
|
||||
programs.${loginShell}.enable = true;
|
||||
users.users.${userName} = {
|
||||
users.users.${username} = {
|
||||
shell = pkgs.${loginShell};
|
||||
group = "users";
|
||||
isNormalUser = true;
|
||||
|
@ -73,6 +101,25 @@
|
|||
initialHashedPassword = "$y$j9T$tHIPQt09Kf3KH2eIRze3g/$2mwSlcq27DTGvHNPJ5EP9/1CfL3bXP0F6oS/Vuffmn3";
|
||||
openssh = {inherit (config.users.users.root.openssh) authorizedKeys;};
|
||||
};
|
||||
home-manager = {
|
||||
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||
inherit system;
|
||||
hostname = hostName;
|
||||
};
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${username} = {
|
||||
imports = [
|
||||
plasma-manager.homeManagerModules.plasma-manager
|
||||
base16.homeManagerModule
|
||||
{scheme = "${tt-schemes}/base16/one-light.yaml";}
|
||||
./home/default.nix
|
||||
./home/${hostName}.nix
|
||||
];
|
||||
home = {inherit username;};
|
||||
programs.home-manager.enable = true;
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
in {
|
||||
|
@ -85,53 +132,58 @@
|
|||
};
|
||||
nixosConfigurations = {
|
||||
## Server
|
||||
Legion = nixpkgs.lib.nixosSystem rec {
|
||||
Legion = let
|
||||
system = "x86_64-linux";
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {
|
||||
hostName = "Legion";
|
||||
userName = "pixelifytica";
|
||||
loginShell = "zsh";
|
||||
username = "pixelifytica";
|
||||
hostName = "Legion";
|
||||
loginShell = "zsh";
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {inherit system username hostName loginShell;};
|
||||
};
|
||||
};
|
||||
## Personal
|
||||
Northstar = nixpkgs.lib.nixosSystem rec {
|
||||
Northstar = let
|
||||
system = "x86_64-linux";
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {
|
||||
hostName = "Northstar";
|
||||
userName = "pixelifytica";
|
||||
loginShell = "zsh";
|
||||
username = "pixelifytica";
|
||||
hostName = "Northstar";
|
||||
loginShell = "zsh";
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {inherit system username hostName loginShell;};
|
||||
};
|
||||
};
|
||||
Vanguard = nixpkgs.lib.nixosSystem rec {
|
||||
Vanguard = let
|
||||
system = "x86_64-linux";
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {
|
||||
hostName = "Vanguard";
|
||||
userName = "pixelifytica";
|
||||
loginShell = "zsh";
|
||||
username = "pixelifytica";
|
||||
hostName = "Vanguard";
|
||||
loginShell = "zsh";
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {inherit system username hostName loginShell;};
|
||||
};
|
||||
};
|
||||
## Work
|
||||
Tone = nixpkgs.lib.nixosSystem rec {
|
||||
Tone = let
|
||||
system = "x86_64-linux";
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {
|
||||
hostName = "Tone";
|
||||
userName = "elitherl";
|
||||
loginShell = "zsh";
|
||||
username = "elitherl";
|
||||
hostName = "Tone";
|
||||
loginShell = "zsh";
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {inherit system username hostName loginShell;};
|
||||
};
|
||||
};
|
||||
Scorch = nixpkgs.lib.nixosSystem rec {
|
||||
Scorch = let
|
||||
system = "x86_64-linux";
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {
|
||||
hostName = "Scorch";
|
||||
userName = "elitherl";
|
||||
loginShell = "zsh";
|
||||
username = "elitherl";
|
||||
hostName = "Scorch";
|
||||
loginShell = "zsh";
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
specialArgs = defaultSpecialArgs {inherit system;};
|
||||
modules = defaultModules {inherit system username hostName loginShell;};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
1
home/Legion.nix
Normal file
|
@ -0,0 +1 @@
|
|||
{...}: {imports = [./default.nix];}
|
4
home/Northstar.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{...}: {
|
||||
imports = [./personal.nix];
|
||||
programs.plasma.configFile.kcminputrc."Libinput/1739/52759/SYNA32AA:00 06CB:CE17 Touchpad".NaturalScroll = true;
|
||||
}
|
1
home/Scorch.nix
Normal file
|
@ -0,0 +1 @@
|
|||
{...}: {imports = [./work.nix];}
|
4
home/Tone.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{...}: {
|
||||
imports = [./work.nix];
|
||||
programs.plasma.configFile.kcminputrc."Libinput/1160/4132/DELL0A21:00 0488:1024 Touchpad".NaturalScroll = true;
|
||||
}
|
7
home/Vanguard.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{...}: {
|
||||
imports = [
|
||||
./personal.nix
|
||||
./games/default.nix
|
||||
./streaming/default.nix
|
||||
];
|
||||
}
|
203
home/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"]
|
||||
}
|
||||
]
|
69
home/browser/config.lisp
Normal file
|
@ -0,0 +1,69 @@
|
|||
(define-configuration buffer
|
||||
((default-modes
|
||||
(pushnew 'nyxt/mode/emacs:emacs-mode %slot-value%))
|
||||
(default-modes
|
||||
(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)
|
||||
(display-tabs-by-last-access-p nil)))
|
||||
|
||||
(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 "σ")))
|
||||
|
||||
(define-configuration :document-mode
|
||||
"Extend with custom keybinds"
|
||||
((keyscheme-map
|
||||
(keymaps:define-keyscheme-map "custom" (list :import %slot-value%)
|
||||
nyxt/keyscheme:emacs (list
|
||||
"C-c u" 'copy-username
|
||||
"C-c p" 'copy-password)))))
|
||||
|
||||
(define-configuration :autofill-mode
|
||||
"Add autofill functions for passwords"
|
||||
((autofills
|
||||
(list
|
||||
(nyxt/mode/autofill:make-autofill
|
||||
:name "name"
|
||||
:fill "Evie Litherland-Smith")
|
||||
(nyxt/mode/autofill:make-autofill
|
||||
:name "email"
|
||||
:fill "evie@xenia.me.uk")))))
|
||||
|
||||
(defvar *my-search-engines*
|
||||
(list
|
||||
'("osm" "https://www.openstreetmap.org/search?query=~a" "https://www.openstreetmap.org/")
|
||||
'("rust" "https://doc.rust-lang.org/std/index.html?search=~a" "https://doc.rust-lang.org/std/index.html")
|
||||
'("crates" "https://crates.io/search?q=~a" "https://crates.io/")
|
||||
'("py" "https://docs.python.org/3/search.html?q=~a" "https://docs.python.org/3")
|
||||
'("pypi" "https://pypi.org/search/?q=~a" "https://pypi.org/")
|
||||
'("nixwiki" "https://nixos.wiki/index.php?search=~a&go=Go" "https://nixos.wiki/")
|
||||
'("archwiki" "https://wiki.archlinux.org/index.php?search=~a" "https://wiki.archlinux.org/")
|
||||
'("github" "https://github.com/search?utf8=✓&q=~a&type=repositories" "https://github.com/")
|
||||
'("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://html.duckduckgo.com/html/?q=~a" "https://html.duckduckgo.com/"))
|
||||
"List of search engines.")
|
||||
|
||||
(define-configuration context-buffer
|
||||
"Go through the search engines above and make-search-engine out of them."
|
||||
((search-engines
|
||||
(mapcar (lambda (engine) (apply 'make-search-engine engine))
|
||||
*my-search-engines*))))
|
||||
|
||||
(define-configuration browser
|
||||
((restore-session-on-startup-p nil)))
|
||||
|
||||
(setf (uiop/os:getenv "GTK_THEME") "Adwaita:light")
|
6
home/browser/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{...}: {
|
||||
imports = [
|
||||
./nyxt.nix
|
||||
./firefox.nix
|
||||
];
|
||||
}
|
167
home/browser/firefox.nix
Normal file
|
@ -0,0 +1,167 @@
|
|||
{pkgs, ...}: {
|
||||
programs = {
|
||||
browserpass = {
|
||||
enable = true;
|
||||
browsers = ["firefox"];
|
||||
};
|
||||
firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
BlockAboutProfiles = true;
|
||||
Cookies = {
|
||||
Behavior = "reject-tracker-and-partition-foreign";
|
||||
BehaviorPrivateBrowsing = "reject";
|
||||
Locked = true;
|
||||
};
|
||||
DefaultDownloadDirectory = "\${home}/Downloads";
|
||||
DisableAppUpdate = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisableFormHistory = true;
|
||||
DisablePocket = true;
|
||||
DisableProfileImport = true;
|
||||
DisableSetDesktopBackground = true;
|
||||
DisableSystemAddonUpdate = true;
|
||||
DisableTelemetry = true;
|
||||
DisplayBookmarksToolbar = "never";
|
||||
DisplayMenuBar = "default-off";
|
||||
DontCheckDefaultBrowser = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
ExtensionSettings = {
|
||||
"queryamoid@kaply.com" = {
|
||||
installation_mode = "force_installed";
|
||||
install_url = "https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi";
|
||||
};
|
||||
"uBlock0@raymondhill.net" = {
|
||||
installation_mode = "force_installed";
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
||||
};
|
||||
"browserpass@maximbaz.com" = {
|
||||
installation_mode = "force_installed";
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/browserpass-ce/latest.xpi";
|
||||
};
|
||||
"addon@simplelogin" = {
|
||||
installation_mode = "force_installed";
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/simplelogin/latest.xpi";
|
||||
};
|
||||
};
|
||||
FirefoxHome = {
|
||||
Search = true;
|
||||
TopSites = false;
|
||||
SponsoredTopSites = false;
|
||||
Highlights = false;
|
||||
Pocket = false;
|
||||
SponsoredPocket = false;
|
||||
Snippets = false;
|
||||
Locked = true;
|
||||
};
|
||||
FirefoxSuggest = {
|
||||
WebSuggestions = false;
|
||||
SponsoredSuggestions = false;
|
||||
ImproveSuggest = false;
|
||||
Locked = true;
|
||||
};
|
||||
HardwareAcceleration = true;
|
||||
Homepage = {
|
||||
Locked = true;
|
||||
StartPage = "homepage-locked";
|
||||
};
|
||||
NewTabPage = true;
|
||||
NoDefaultBookmarks = false;
|
||||
OfferToSaveLogins = false;
|
||||
PasswordManagerEnabled = false;
|
||||
PDFjs = {Enabled = false;};
|
||||
Permissions = {
|
||||
Autoplay = {
|
||||
Default = "block-audio-video";
|
||||
};
|
||||
};
|
||||
PictureInPicture = {Enabled = true;};
|
||||
PopupBlocking = {Default = true;};
|
||||
RequestedLocales = ["en-GB"];
|
||||
SearchBar = "unified";
|
||||
ShowHomeButton = true;
|
||||
StartDownloadsInTempDirectory = true;
|
||||
};
|
||||
profiles.default = {
|
||||
bookmarks = builtins.fromJSON (builtins.readFile ./bookmarks.json);
|
||||
settings = {
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"browser.bookmarks.addedImportButton" = false;
|
||||
"browser.bookmarks.showMobileBookmarks" = false;
|
||||
"browser.toolbars.bookmarks.visibility" = "newtab";
|
||||
"browser.contentblocking.category" = "strict";
|
||||
"browser.search.region" = "GB";
|
||||
"browser.search.isUS" = false;
|
||||
"browser.warnOnQuitShortcut" = false;
|
||||
"distribution.searchplugins.defaultLocale" = "en-GB";
|
||||
"doh-rollout.home-region" = "GB";
|
||||
"extensions.activeThemeID" = "default-theme@mozilla.org";
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"general.useragent.locale" = "en-GB";
|
||||
"intl.accept_languages" = "en-gb,en";
|
||||
"intl.locale.requested" = "en-gb,en";
|
||||
"intl.regional_prefs.use_os_locales" = false;
|
||||
"media.eme.enabled" = true;
|
||||
"privacy.webrtc.legacyGlobalIndicator" = false;
|
||||
"signon.management.page.breach-alerts.enabled" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
"browser.newtabpage.pinned" = [
|
||||
{
|
||||
title = "NixOS Wiki";
|
||||
url = "https://wiki.nixos.org";
|
||||
}
|
||||
{
|
||||
title = "Arch Wiki";
|
||||
url = "https://wiki.archlinux.org";
|
||||
}
|
||||
];
|
||||
};
|
||||
search = rec {
|
||||
default = "DuckDuckGo";
|
||||
privateDefault = default;
|
||||
force = true;
|
||||
order = ["DuckDuckGo" "Atlas SearXNG"];
|
||||
engines = {
|
||||
"Atlas SearXNG" = {
|
||||
urls = [{template = "https://search.atlas.engineer/searxng/search?q={searchTerms}";}];
|
||||
definedAliases = ["@atlas"];
|
||||
};
|
||||
"NixOS Wiki" = {
|
||||
urls = [{template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["@nix" "@nixos" "@nixoswiki"];
|
||||
};
|
||||
"Arch Wiki" = {
|
||||
urls = [{template = "https://wiki.archlinux.org/index.php?search={searchTerms}";}];
|
||||
definedAliases = ["@aw" "@arch" "@archwiki"];
|
||||
};
|
||||
"GitHub" = {
|
||||
urls = [{template = "https://github.com/search?q={searchTerms}";}];
|
||||
definedAliases = ["@gh" "@git" "@github"];
|
||||
};
|
||||
"FlatHub" = {
|
||||
url = [{template = "https://flathub.org/apps/search?q={searchTerms}";}];
|
||||
definedAliases = ["@flat" "@fthub" "@flathub"];
|
||||
};
|
||||
"NixOS Packages" = {
|
||||
urls = [{template = "http://search.nixos.org/packages?channel=unstable&size=50&sort=relevance&type=packages&query={searchTerms}";}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["@nixpkgs"];
|
||||
};
|
||||
"PyPI packages" = {
|
||||
urls = [{template = "https://pypi.org/search/?q={searchTerms}";}];
|
||||
definedAliases = ["@pypi"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
65
home/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)))
|
||||
+ ")"
|
||||
);
|
||||
};
|
||||
}
|
25
home/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Programs
|
||||
./desktop/default.nix
|
||||
./shell/default.nix
|
||||
./emacs/default.nix
|
||||
./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";
|
||||
};
|
||||
}
|
71
home/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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
32
home/desktop/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./plasma/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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
77
home/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;
|
||||
}
|
217
home/desktop/plasma/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
home/desktop/plasma/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
home/desktop/plasma/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
|
21
home/desktop/wallpapers/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2021 Catppuccin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
1
home/desktop/wallpapers/README.md
Normal file
|
@ -0,0 +1 @@
|
|||
# Wallpapers for personal use
|
BIN
home/desktop/wallpapers/blake.png
Normal file
After Width: | Height: | Size: 562 KiB |
BIN
home/desktop/wallpapers/default.jpg
Normal file
After Width: | Height: | Size: 642 KiB |
BIN
home/desktop/wallpapers/dithered/barn.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
home/desktop/wallpapers/dithered/lighthouse.png
Normal file
After Width: | Height: | Size: 103 KiB |
BIN
home/desktop/wallpapers/dithered/marketplace.png
Normal file
After Width: | Height: | Size: 140 KiB |
BIN
home/desktop/wallpapers/dithered/motorbikes.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
home/desktop/wallpapers/flatppuccin/flatppuccin_4k_macchiato.png
Normal file
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 202 KiB |
BIN
home/desktop/wallpapers/gradients/bkg1_bkg5.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
home/desktop/wallpapers/gradients/bkg3_bkg5.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
home/desktop/wallpapers/gradients/blue_bkg5.png
Normal file
After Width: | Height: | Size: 125 KiB |
BIN
home/desktop/wallpapers/gradients/blue_green.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
home/desktop/wallpapers/gradients/cyan_bkg5.png
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
home/desktop/wallpapers/gradients/flamingo_bkg1.png
Normal file
After Width: | Height: | Size: 167 KiB |
BIN
home/desktop/wallpapers/gradients/flamingo_bkg5.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
home/desktop/wallpapers/gradients/flamingo_peach.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
home/desktop/wallpapers/gradients/flamingo_yellow.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
home/desktop/wallpapers/gradients/green_bkg5.png
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
home/desktop/wallpapers/gradients/magenta_blue.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
home/desktop/wallpapers/gradients/magenta_pink.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
home/desktop/wallpapers/gradients/peach_bkg5.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
home/desktop/wallpapers/gradients/red_bkg5.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
home/desktop/wallpapers/gradients/red_peach.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
home/desktop/wallpapers/gradients/red_pink.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
home/desktop/wallpapers/hypr/HYPRCHAN.png
Normal file
After Width: | Height: | Size: 14 MiB |
BIN
home/desktop/wallpapers/hypr/Hyprscreeen_of_death.png
Normal file
After Width: | Height: | Size: 183 KiB |
BIN
home/desktop/wallpapers/hypr/Hyprscreeen_of_death_mascot.png
Normal file
After Width: | Height: | Size: 528 KiB |
BIN
home/desktop/wallpapers/hypr/hyprfog-2.png
Normal file
After Width: | Height: | Size: 27 MiB |
BIN
home/desktop/wallpapers/hypr/tetrahedra5.png
Normal file
After Width: | Height: | Size: 20 MiB |
BIN
home/desktop/wallpapers/hypr/w4X1t93.png
Normal file
After Width: | Height: | Size: 286 KiB |
BIN
home/desktop/wallpapers/landscapes/Clearday.jpg
Normal file
After Width: | Height: | Size: 747 KiB |
BIN
home/desktop/wallpapers/landscapes/Clearnight.jpg
Normal file
After Width: | Height: | Size: 7 MiB |
BIN
home/desktop/wallpapers/landscapes/Cloudsday.jpg
Normal file
After Width: | Height: | Size: 5.3 MiB |
BIN
home/desktop/wallpapers/landscapes/Cloudsnight.jpg
Normal file
After Width: | Height: | Size: 7.8 MiB |
BIN
home/desktop/wallpapers/landscapes/Rainnight.jpg
Normal file
After Width: | Height: | Size: 3.6 MiB |
BIN
home/desktop/wallpapers/landscapes/evening-sky.png
Normal file
After Width: | Height: | Size: 4.3 MiB |
BIN
home/desktop/wallpapers/landscapes/forrest.png
Normal file
After Width: | Height: | Size: 3.7 MiB |
BIN
home/desktop/wallpapers/landscapes/salty_mountains.png
Normal file
After Width: | Height: | Size: 1,000 KiB |
BIN
home/desktop/wallpapers/landscapes/shaded_landscape.png
Normal file
After Width: | Height: | Size: 3.9 MiB |
BIN
home/desktop/wallpapers/landscapes/tropic_island_day.jpg
Normal file
After Width: | Height: | Size: 4.8 MiB |
BIN
home/desktop/wallpapers/landscapes/tropic_island_evening.jpg
Normal file
After Width: | Height: | Size: 4 MiB |
BIN
home/desktop/wallpapers/landscapes/tropic_island_morning.jpg
Normal file
After Width: | Height: | Size: 4.3 MiB |
BIN
home/desktop/wallpapers/landscapes/tropic_island_night.jpg
Normal file
After Width: | Height: | Size: 4 MiB |
BIN
home/desktop/wallpapers/landscapes/yosemite.png
Normal file
After Width: | Height: | Size: 5.1 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_blue.png
Normal file
After Width: | Height: | Size: 252 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_flamingo.png
Normal file
After Width: | Height: | Size: 254 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_green.png
Normal file
After Width: | Height: | Size: 250 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_lavender.png
Normal file
After Width: | Height: | Size: 255 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_magenta.png
Normal file
After Width: | Height: | Size: 252 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_maroon.png
Normal file
After Width: | Height: | Size: 249 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_peach.png
Normal file
After Width: | Height: | Size: 253 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_pink.png
Normal file
After Width: | Height: | Size: 254 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_red.png
Normal file
After Width: | Height: | Size: 247 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_rosewater.png
Normal file
After Width: | Height: | Size: 255 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_sky.png
Normal file
After Width: | Height: | Size: 253 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_teal.png
Normal file
After Width: | Height: | Size: 254 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_full_yellow.png
Normal file
After Width: | Height: | Size: 253 KiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_blue.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_flamingo.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_green.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_lavender.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_magenta.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_maroon.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_peach.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_pink.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_red.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_rosewater.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_sky.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_teal.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_gap_yellow.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_side_blue.png
Normal file
After Width: | Height: | Size: 1 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_side_flamingo.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_side_green.png
Normal file
After Width: | Height: | Size: 1 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_side_lavender.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_side_magenta.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_side_maroon.png
Normal file
After Width: | Height: | Size: 1 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_side_peach.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
home/desktop/wallpapers/mandelbrot/mandelbrot_side_pink.png
Normal file
After Width: | Height: | Size: 1.1 MiB |