Compare commits
15 commits
45120e52e2
...
7b4bdca7e7
Author | SHA1 | Date | |
---|---|---|---|
7b4bdca7e7 | |||
04687653a5 | |||
e5ec3cad8c | |||
0caf18c32c | |||
9650bce6cf | |||
9f0a6aae58 | |||
f0a8fe6d95 | |||
15155a8b0f | |||
62784d39b7 | |||
0c2968e009 | |||
6c95c44f87 | |||
08c0ed5f45 | |||
97b0ccee31 | |||
fca113aeed | |||
914b2b7ed0 |
35 changed files with 770 additions and 889 deletions
471
flake.lock
471
flake.lock
|
@ -1,5 +1,72 @@
|
|||
{
|
||||
"nodes": {
|
||||
"base16": {
|
||||
"inputs": {
|
||||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732200724,
|
||||
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-fish": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1622559957,
|
||||
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1736852337,
|
||||
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-vim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732806396,
|
||||
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -20,6 +87,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1739223196,
|
||||
"narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -68,6 +151,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
|
@ -187,7 +286,7 @@
|
|||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
|
@ -205,7 +304,28 @@
|
|||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
"systems": [
|
||||
"stylix",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_5": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
|
@ -253,6 +373,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1731966426,
|
||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
|
@ -277,6 +413,32 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks_2": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"stylix",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737465171,
|
||||
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -300,6 +462,45 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732369855,
|
||||
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "GNOME",
|
||||
"ref": "47.2",
|
||||
"repo": "gnome-shell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"harfbuzz": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -361,25 +562,25 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"rose-pine-hyprcursor",
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_2"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709914708,
|
||||
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
|
||||
"lastModified": 1739757849,
|
||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -443,11 +644,11 @@
|
|||
"plugins-nvim-emmet": "plugins-nvim-emmet"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740873051,
|
||||
"narHash": "sha256-5yrGhxYiWiipWEYnsCAbRNkyeYzArax529KCI39/wtc=",
|
||||
"lastModified": 1740938353,
|
||||
"narHash": "sha256-WwBCND9/lPu7/D0wSgQ0X0xLuwujKz9uju/a2FOM7cg=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "8a48c56206649cef772ab1e2bbceaa137b02bb59",
|
||||
"revCount": 150,
|
||||
"rev": "744b1ad145a000523384cfa32e06a61498cf63ba",
|
||||
"revCount": 152,
|
||||
"type": "git",
|
||||
"url": "https://codewith.babesonthe.net/punkfairie/marleyvim"
|
||||
},
|
||||
|
@ -506,11 +707,11 @@
|
|||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740855337,
|
||||
"narHash": "sha256-+XraA0Y/Ly5gewsO/iB1zuW66kXRaIJYIoQfHDJoelQ=",
|
||||
"lastModified": 1740929139,
|
||||
"narHash": "sha256-as+EZSE7x2n8WpZW8U23aADY/9ho9niaRDDFmWWuhzY=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "19cf6c963dfd26d1f2ea9a533470a16144803555",
|
||||
"rev": "bae6dca1c27444d3641571fd5ae15181a68ecf8b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -539,11 +740,11 @@
|
|||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1740851187,
|
||||
"narHash": "sha256-pCvGEGLUab0BmoJQKmUf2vmtQXu7FiUag60c3z6hhaE=",
|
||||
"lastModified": 1740898912,
|
||||
"narHash": "sha256-oDQWpeYkJ2xzGJOCq+m+uMp8urW/37B7NbTndYKIME4=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "36b28d9b96107441e3f8502a61f598fb666ec492",
|
||||
"rev": "9f205d465c46928b95702447194faeb342a57965",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -606,11 +807,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1740743217,
|
||||
"narHash": "sha256-brsCRzLqimpyhORma84c3W2xPbIidZlIc3JGIuQVSNI=",
|
||||
"lastModified": 1740865531,
|
||||
"narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b27ba4eb322d9d2bf2dc9ada9fd59442f50c8d7c",
|
||||
"rev": "5ef6c425980847c78a80d759abc476e941a9bf42",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -638,11 +839,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1740695751,
|
||||
"narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=",
|
||||
"lastModified": 1740828860,
|
||||
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4",
|
||||
"rev": "303bd8071377433a2d8f76e684ec773d70c5b642",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -654,11 +855,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1740743217,
|
||||
"narHash": "sha256-brsCRzLqimpyhORma84c3W2xPbIidZlIc3JGIuQVSNI=",
|
||||
"lastModified": 1740865531,
|
||||
"narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b27ba4eb322d9d2bf2dc9ada9fd59442f50c8d7c",
|
||||
"rev": "5ef6c425980847c78a80d759abc476e941a9bf42",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -670,16 +871,16 @@
|
|||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1710272261,
|
||||
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
|
||||
"lastModified": 1740339700,
|
||||
"narHash": "sha256-cbrw7EgQhcdFnu6iS3vane53bEagZQy/xyIkDWpCgVE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2",
|
||||
"rev": "04ef94c4c1582fd485bbfdb8c4a8ba250e359195",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -693,11 +894,11 @@
|
|||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740868499,
|
||||
"narHash": "sha256-Ool7r+1MO12IGFu52caG0xNzPY0rFwF77aHC7gQ3pUY=",
|
||||
"lastModified": 1740937495,
|
||||
"narHash": "sha256-6B1TLJbyE3FpDSxbCaBNVECMWmz2ScNyKaLwC+co5D0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "b92dec71e76702d2208c6f6d9f758a8e9649f061",
|
||||
"rev": "eb2e9317b9e301ed5cbe2b07cb57b33558b79670",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -749,82 +950,12 @@
|
|||
"nixpkgs": "nixpkgs_4",
|
||||
"nur": "nur",
|
||||
"rofi-themes": "rofi-themes",
|
||||
"rose-pine": "rose-pine",
|
||||
"rose-pine-amfora": "rose-pine-amfora",
|
||||
"rose-pine-hyprcursor": "rose-pine-hyprcursor",
|
||||
"rose-pine-qt5ct": "rose-pine-qt5ct",
|
||||
"snowfall-lib": "snowfall-lib",
|
||||
"stylix": "stylix",
|
||||
"unstable": "unstable",
|
||||
"wezterm": "wezterm"
|
||||
}
|
||||
},
|
||||
"rose-pine": {
|
||||
"locked": {
|
||||
"lastModified": 1740856667,
|
||||
"narHash": "sha256-iPeS2Of3B0vUvnPyCCRecb5rR9wGeaYwRzWxS8qnFWw=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "c81ccedd763c80bcb3d42428f2e9be4b41b2a845",
|
||||
"revCount": 387,
|
||||
"type": "git",
|
||||
"url": "https://codewith.babesonthe.net/punkfairie/rose-pine-nix"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://codewith.babesonthe.net/punkfairie/rose-pine-nix"
|
||||
}
|
||||
},
|
||||
"rose-pine-amfora": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1645462324,
|
||||
"narHash": "sha256-HUgdRxDKwXFubvCg5OWAwWF6fi8HEhH9xcOPpPonBKg=",
|
||||
"owner": "rose-pine",
|
||||
"repo": "amfora",
|
||||
"rev": "65afcf6c162cd1d960499c657e83603878b91c2d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rose-pine",
|
||||
"repo": "amfora",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rose-pine-hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": "hyprlang",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740132177,
|
||||
"narHash": "sha256-gNc20APKMefFdH5RONBuHhOps14aiMdgIT0I6RaSN64=",
|
||||
"owner": "ndom91",
|
||||
"repo": "rose-pine-hyprcursor",
|
||||
"rev": "568067f35a85932192bd43ddf64fc05eff850f9f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ndom91",
|
||||
"repo": "rose-pine-hyprcursor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rose-pine-qt5ct": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1681348150,
|
||||
"narHash": "sha256-mfkVexp3deDZCwbq/P8Ynf1gYwF5kVXfGGv7BEGFZCU=",
|
||||
"owner": "piperbly",
|
||||
"repo": "rose-pine-qt5ct",
|
||||
"rev": "61c90bc63291508f2cec6e8589e35af637a75374",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "piperbly",
|
||||
"repo": "rose-pine-qt5ct",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -868,6 +999,39 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"stylix": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"base16-fish": "base16-fish",
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"git-hooks": "git-hooks_2",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"systems": "systems_3",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-tmux": "tinted-tmux"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740520580,
|
||||
"narHash": "sha256-QRlcA8rtfNdyKpBE+ptjiB9717Tzum4/sKBSbsyqL6k=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "aaa2eb8956770c096f9c46fb163bb26602e20e56",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "danth",
|
||||
"ref": "release-24.11",
|
||||
"repo": "stylix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
@ -885,16 +1049,16 @@
|
|||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -928,18 +1092,53 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"lastModified": 1726913040,
|
||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-kitty": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716423189,
|
||||
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1740272597,
|
||||
"narHash": "sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "b6c7f46c8718cc484f2db8b485b06e2a98304cd0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -988,11 +1187,11 @@
|
|||
},
|
||||
"unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1740695751,
|
||||
"narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=",
|
||||
"lastModified": 1740828860,
|
||||
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4",
|
||||
"rev": "303bd8071377433a2d8f76e684ec773d70c5b642",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1002,27 +1201,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wezterm": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"flake-utils": "flake-utils_5",
|
||||
"freetype2": "freetype2",
|
||||
"harfbuzz": "harfbuzz",
|
||||
"libpng": "libpng",
|
||||
|
|
30
flake.nix
30
flake.nix
|
@ -22,7 +22,7 @@
|
|||
];
|
||||
|
||||
systems.modules.nixos = with inputs; [
|
||||
rose-pine.nixosModules.rose-pine
|
||||
stylix.nixosModules.stylix
|
||||
niri-flake.nixosModules.niri
|
||||
];
|
||||
|
||||
|
@ -30,17 +30,12 @@
|
|||
lix.nixosModules.default
|
||||
];
|
||||
|
||||
homes.modules = with inputs; [
|
||||
rose-pine.homeManagerModules.rose-pine
|
||||
];
|
||||
# homes.modules = with inputs; [
|
||||
# ];
|
||||
|
||||
outputs-builder = channels: {
|
||||
formatter = channels.nixpkgs.alejandra;
|
||||
};
|
||||
|
||||
alias = {
|
||||
shells.default = "nix";
|
||||
};
|
||||
};
|
||||
|
||||
inputs = {
|
||||
|
@ -77,30 +72,17 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
rose-pine.url = "git+https://codewith.babesonthe.net/punkfairie/rose-pine-nix";
|
||||
stylix.url = "github:danth/stylix/release-24.11";
|
||||
|
||||
marleyvim.url = "git+https://codewith.babesonthe.net/punkfairie/marleyvim";
|
||||
niri-flake.url = "github:sodiboo/niri-flake";
|
||||
|
||||
wezterm = {
|
||||
url = "github:wez/wezterm?dir=nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
niri-flake.url = "github:sodiboo/niri-flake";
|
||||
marleyvim.url = "git+https://codewith.babesonthe.net/punkfairie/marleyvim";
|
||||
|
||||
# Rose pine themes that aren't included in the above flake:
|
||||
# TODO: Integrate these to punkfairie/rose-pine-nix.
|
||||
rose-pine-amfora = {
|
||||
url = "github:rose-pine/amfora";
|
||||
flake = false;
|
||||
};
|
||||
rose-pine-qt5ct = {
|
||||
url = "github:piperbly/rose-pine-qt5ct";
|
||||
flake = false;
|
||||
};
|
||||
rose-pine-hyprcursor.url = "github:ndom91/rose-pine-hyprcursor";
|
||||
|
||||
# Rofi
|
||||
rofi-themes = {
|
||||
url = "git+https://codewith.babesonthe.net/punkfairie/rofi-themes";
|
||||
flake = false;
|
||||
|
|
|
@ -2,44 +2,18 @@
|
|||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.snowfall.system) is-darwin;
|
||||
|
||||
cfg = config.marleyos.appearance.base;
|
||||
inherit (config.marleyos) isDesktop;
|
||||
in {
|
||||
options.marleyos.appearance.base.enable = lib.mkEnableOption "base";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
rose-pine = {
|
||||
enable = true;
|
||||
flavor = "main";
|
||||
};
|
||||
|
||||
rose-pine.pointerCursor.enable = lib.mkIf config.rose-pine.enable true;
|
||||
|
||||
marleyos = {
|
||||
theme = {
|
||||
icons = {
|
||||
package = pkgs.kora-icon-theme;
|
||||
name = "kora";
|
||||
};
|
||||
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.maple-mono-NF;
|
||||
name = "Maple Mono NF";
|
||||
# TODO: package font with harfbuzz features.
|
||||
ligatures = [
|
||||
"cv02"
|
||||
"ss01"
|
||||
"ss02"
|
||||
"ss03"
|
||||
"ss04"
|
||||
"ss05"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
apps = {
|
||||
pinentry =
|
||||
if isDesktop
|
||||
|
@ -47,5 +21,19 @@ in {
|
|||
else pkgs.pinentry-curses;
|
||||
};
|
||||
};
|
||||
|
||||
stylix = {
|
||||
iconTheme = {
|
||||
package = pkgs.kora-icon-theme;
|
||||
dark = "kora";
|
||||
light = "kora-light-panel";
|
||||
};
|
||||
|
||||
fonts.sizes.terminal = lib.mkIf (is-darwin system) 14;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
kora-icon-theme
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -13,9 +13,15 @@ in {
|
|||
gtk = {
|
||||
enable = true;
|
||||
|
||||
rose-pine.enable = lib.mkIf config.rose-pine.enable true;
|
||||
|
||||
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
||||
|
||||
iconTheme = with config.stylix.iconTheme; {
|
||||
name =
|
||||
if config.lib.stylix.colors.variant == "dark"
|
||||
then dark
|
||||
else light;
|
||||
inherit package;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -9,15 +9,8 @@ in {
|
|||
options.marleyos.appearance.qt.enable = lib.mkEnableOption "qt";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
xdg.configFile = lib.mkIf config.rose-pine.enable {
|
||||
"qt5ct/colors/rose-pine.conf" = {
|
||||
source = "${inputs.rose-pine-qt5ct}/rose-pine.conf";
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = "adwaita";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
7
modules/home/options/isServer/default.nix
Normal file
7
modules/home/options/isServer/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{lib, ...}: {
|
||||
options.marleyos.isServer = lib.mkOption {
|
||||
type = with lib.types; bool;
|
||||
default = false;
|
||||
description = "Whether this machine is a server.";
|
||||
};
|
||||
}
|
|
@ -1,139 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
system,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.snowfall.system) is-linux;
|
||||
|
||||
cfg = config.marleyos.theme;
|
||||
|
||||
# https://github.com/nix-community/home-manager/blob/master/modules/misc/gtk.nix
|
||||
iconThemeType = lib.types.submodule {
|
||||
options = {
|
||||
package = lib.mkOption {
|
||||
type = with lib.types; nullOr package;
|
||||
default = null;
|
||||
example = pkgs.gnome.adwaita-icon-theme;
|
||||
description = ''
|
||||
Package providing the icon theme. This package will be installed to
|
||||
your profile. If `null` then the theme is assumed to already be
|
||||
available in your profile.
|
||||
'';
|
||||
};
|
||||
|
||||
name = lib.mkOption {
|
||||
type = with lib.types; str;
|
||||
example = "Adwaita";
|
||||
description = "The name of the icon theme within the package.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mkFontType = type: default: (lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
package = lib.mkOption {
|
||||
type = with lib.types; package;
|
||||
default = default.package;
|
||||
description = "The package providing the ${type} font.";
|
||||
};
|
||||
|
||||
name = lib.mkOption {
|
||||
type = with lib.types; str;
|
||||
default = default.name;
|
||||
description = "The name of the ${type} font.";
|
||||
};
|
||||
|
||||
ligatures = lib.mkOption {
|
||||
type = with lib.types; listOf str;
|
||||
default = default.ligatures;
|
||||
description = "The ligature features to enable for programs that support it.";
|
||||
};
|
||||
};
|
||||
};
|
||||
inherit default;
|
||||
description = "The ${type} font to use.";
|
||||
});
|
||||
in {
|
||||
options.marleyos.theme = {
|
||||
icons = lib.mkOption {
|
||||
type = with lib.types; nullOr iconThemeType;
|
||||
default = null;
|
||||
description = "The icon theme to use.";
|
||||
};
|
||||
|
||||
fonts = lib.mkOption {
|
||||
type = with lib.types;
|
||||
submodule {
|
||||
options = {
|
||||
monospace = mkFontType "monospace" {
|
||||
package = pkgs.maple-mono-NF;
|
||||
name = "Maple Mono NF";
|
||||
ligatures = [];
|
||||
};
|
||||
|
||||
sansSerif = mkFontType "sans-serif" {
|
||||
package = pkgs.dm-sans;
|
||||
name = "DeepMind Sans";
|
||||
ligatures = [];
|
||||
};
|
||||
|
||||
serif = mkFontType "serif" {
|
||||
package = pkgs.eb-garamond;
|
||||
name = "EB Garamond";
|
||||
ligatures = [];
|
||||
};
|
||||
|
||||
emoji = mkFontType "emoji" {
|
||||
package = pkgs.whatsapp-emoji-font;
|
||||
name = "Apple Color Emoji";
|
||||
ligatures = [];
|
||||
};
|
||||
};
|
||||
};
|
||||
default = {};
|
||||
description = "Default font configuration.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
# icons
|
||||
(lib.mkIf ((cfg.icons != null) && (is-linux system)) {
|
||||
gtk = lib.mkDefault {
|
||||
iconTheme = {
|
||||
inherit (cfg.icons) name;
|
||||
package = lib.mkIf (cfg.icons.package != null) cfg.icons.package;
|
||||
};
|
||||
};
|
||||
|
||||
services.dunst = lib.mkDefault {
|
||||
iconTheme = {
|
||||
inherit (cfg.icons) name;
|
||||
package = lib.mkIf (cfg.icons.package != null) cfg.icons.package;
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
# fonts
|
||||
{
|
||||
home.packages = [
|
||||
cfg.fonts.monospace.package
|
||||
cfg.fonts.sansSerif.package
|
||||
cfg.fonts.serif.package
|
||||
cfg.fonts.emoji.package
|
||||
];
|
||||
|
||||
fonts.fontconfig = lib.mkIf (is-linux system) {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
monospace = [cfg.fonts.monospace.name];
|
||||
sansSerif = [cfg.fonts.sansSerif.name];
|
||||
serif = [cfg.fonts.serif.name];
|
||||
emoji = [cfg.fonts.emoji.name];
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
|
@ -17,7 +17,6 @@ in {
|
|||
|
||||
xdg.configFile."cheat/conf.yml".source = toYAML "conf.yml" {
|
||||
colorize = true;
|
||||
style = lib.mkIf config.rose-pine.enable "rose-pine";
|
||||
formatter = "terminal256";
|
||||
pager = "less -FRX";
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ in {
|
|||
config = lib.mkIf cfg.enable {
|
||||
marleyos.programs = {
|
||||
bat = enabled;
|
||||
cheat = enabled;
|
||||
# cheat = enabled;
|
||||
curl = enabled;
|
||||
eza = enabled;
|
||||
figlet = enabled;
|
||||
|
|
|
@ -53,26 +53,6 @@ in {
|
|||
"*.bmp binary"
|
||||
];
|
||||
|
||||
# ██████╗ ███████╗██╗ ████████╗ █████╗
|
||||
# ██╔══██╗██╔════╝██║ ╚══██╔══╝██╔══██╗
|
||||
# ██║ ██║█████╗ ██║ ██║ ███████║
|
||||
# ██║ ██║██╔══╝ ██║ ██║ ██╔══██║
|
||||
# ██████╔╝███████╗███████╗██║ ██║ ██║
|
||||
# ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═╝
|
||||
|
||||
# delta = {
|
||||
# enable = true;
|
||||
#
|
||||
# options = {
|
||||
# navigate = true;
|
||||
# # TODO: Add to rose-pine-nix
|
||||
# syntax-theme = "${colors.base}";
|
||||
# features = "mellow-barbet";
|
||||
# true-color = "always";
|
||||
# hyperlinks = true;
|
||||
# };
|
||||
# };
|
||||
|
||||
# ██████╗ ██╗███████╗███████╗████████╗ █████╗ ███████╗████████╗██╗ ██████╗
|
||||
# ██╔══██╗██║██╔════╝██╔════╝╚══██╔══╝██╔══██╗██╔════╝╚══██╔══╝██║██╔════╝
|
||||
# ██║ ██║██║█████╗ █████╗ ██║ ███████║███████╗ ██║ ██║██║
|
||||
|
|
|
@ -9,17 +9,12 @@ in {
|
|||
|
||||
imports = [
|
||||
./nerd-font-symbols.nix
|
||||
./rose-pine.nix
|
||||
./theme.nix
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
|
||||
enableTransience = true;
|
||||
|
||||
# Using my own version because I made so many fixes it wasn't worth...
|
||||
rose-pine.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
|
||||
cfg = config.marleyos.programs.starship;
|
||||
in {
|
||||
config = lib.mkIf (cfg.enable && config.rose-pine.enable) {
|
||||
programs.starship.settings = let
|
||||
mkFormat = t: " [](fg:overlay)[${t}]($style)[](fg:overlay) ";
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.starship.settings = with config.lib.stylix.colors.withHashtag; let
|
||||
mkFormat = t: " [](fg:${base02})[${t}]($style)[](fg:${base02}) ";
|
||||
langFormat = mkFormat "$symbol$version";
|
||||
in {
|
||||
format = mkDefault (lib.concatStrings [
|
||||
|
@ -36,54 +36,17 @@ in {
|
|||
"$character"
|
||||
]);
|
||||
|
||||
# TODO: Make the palette available from rose-pine-nix.
|
||||
palettes.rose-pine =
|
||||
if (config.rose-pine.flavor == "moon")
|
||||
then
|
||||
(mkDefault {
|
||||
overlay = "#393552";
|
||||
love = "#eb6f92";
|
||||
gold = "#f6c177";
|
||||
rose = "#ea9a97";
|
||||
pine = "#3e8fb0";
|
||||
foam = "#9ccfd8";
|
||||
iris = "#c4a7e7";
|
||||
})
|
||||
else if (config.rose-pine.flavor == "dawn")
|
||||
then
|
||||
(mkDefault {
|
||||
overlay = "#f2e9e1";
|
||||
love = "#b4637a";
|
||||
gold = "#ea9d34";
|
||||
rose = "#d7827e";
|
||||
pine = "#286983";
|
||||
foam = "#56949f";
|
||||
iris = "#907aa9";
|
||||
})
|
||||
else
|
||||
(mkDefault {
|
||||
overlay = "#26233a";
|
||||
love = "#eb6f92";
|
||||
gold = "#f6c177";
|
||||
rose = "#ebbcba";
|
||||
pine = "#31748f";
|
||||
foam = "#9ccfd8";
|
||||
iris = "#c4a7e7";
|
||||
});
|
||||
|
||||
palette = "rose-pine";
|
||||
|
||||
username = {
|
||||
disabled = mkDefault false;
|
||||
format = mkDefault (mkFormat " $user ");
|
||||
show_always = mkDefault true;
|
||||
style_root = mkDefault "bg:overlay fg:iris";
|
||||
style_user = mkDefault "bg:overlay fg:iris";
|
||||
style_root = mkDefault "bg:${base02} fg:${base0D}";
|
||||
style_user = mkDefault "bg:${base02} fg:${base0D}";
|
||||
};
|
||||
|
||||
directory = {
|
||||
format = mkDefault (mkFormat " $path ");
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
truncation_length = mkDefault 3;
|
||||
truncation_symbol = mkDefault "…/";
|
||||
|
||||
|
@ -97,123 +60,123 @@ in {
|
|||
|
||||
git_branch = {
|
||||
format = mkDefault (mkFormat " $symbol $branch ");
|
||||
style = mkDefault "bg:overlay fg:foam";
|
||||
style = mkDefault "bg:${base02} fg:${base0C}";
|
||||
symbol = mkDefault "";
|
||||
};
|
||||
|
||||
git_status = {
|
||||
disabled = mkDefault false;
|
||||
style = mkDefault "bg:overlay fg:love";
|
||||
style = mkDefault "bg:${base02} fg:${base08}";
|
||||
format = mkDefault (mkFormat " $all_status$ahead_behind");
|
||||
up_to_date = mkDefault "[ ✓ ](bg:overlay fg:iris)";
|
||||
untracked = mkDefault "[?\\($count\\)](bg:overlay fg:gold)";
|
||||
stashed = mkDefault "[\\$](bg:overlay fg:iris)";
|
||||
modified = mkDefault "[!\\($count\\)](bg:overlay fg:gold)";
|
||||
renamed = mkDefault "[»\\($count\\)](bg:overlay fg:iris)";
|
||||
up_to_date = mkDefault "[ ✓ ](bg:${base02} fg:${base0D})";
|
||||
untracked = mkDefault "[?\\($count\\)](bg:${base02} fg:${base09})";
|
||||
stashed = mkDefault "[\\$](bg:${base02} fg:${base0D})";
|
||||
modified = mkDefault "[!\\($count\\)](bg:${base02} fg:${base09})";
|
||||
renamed = mkDefault "[»\\($count\\)](bg:${base02} fg:${base0D})";
|
||||
deleted = mkDefault "[✘\\($count\\)](style)";
|
||||
staged = mkDefault "[++\\($count\\)](bg:overlay fg:gold)";
|
||||
ahead = mkDefault "[⇡\\(\${count}\\)](bg:overlay fg:foam)";
|
||||
diverged = mkDefault "⇕[\\[](bg:overlay fg:iris)[⇡\\(\${ahead_count}\\)](bg:overlay fg:foam)[⇣\\(\${behind_count}\\)](bg:overlay fg:rose)[\\]](bg:overlay fg:iris)";
|
||||
behind = mkDefault "[⇣\\(\${count}\\)](bg:overlay fg:rose)";
|
||||
staged = mkDefault "[++\\($count\\)](bg:${base02} fg:${base09})";
|
||||
ahead = mkDefault "[⇡\\(\${count}\\)](bg:${base02} fg:${base0C})";
|
||||
diverged = mkDefault "⇕[\\[](bg:${base02} fg:${base0D})[⇡\\(\${ahead_count}\\)](bg:${base02} fg:${base0C})[⇣\\(\${behind_count}\\)](bg:${base02} fg:${base0A})[\\]](bg:${base02} fg:${base0D})";
|
||||
behind = mkDefault "[⇣\\(\${count}\\)](bg:${base02} fg:${base0A})";
|
||||
};
|
||||
|
||||
fill = {
|
||||
style = mkDefault "fg:overlay";
|
||||
style = mkDefault "fg:${base02}";
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
time = {
|
||||
disabled = mkDefault false;
|
||||
format = mkDefault (mkFormat " $time ");
|
||||
style = mkDefault "bg:overlay fg:rose";
|
||||
style = mkDefault "bg:${base02} fg:${base0A}";
|
||||
time_format = mkDefault "%I:%M%P";
|
||||
use_12hr = mkDefault true;
|
||||
};
|
||||
|
||||
character = let
|
||||
vim = "";
|
||||
mkChar = sym: col: " [${sym}](fg:${col}) [](fg:foam)";
|
||||
mkChar = sym: col: " [${sym}](fg:${col}) [](fg:${base0C})";
|
||||
in {
|
||||
success_symbol = mkChar "" "iris";
|
||||
error_symbol = mkChar "" "love";
|
||||
vimcmd_symbol = mkChar vim "rose";
|
||||
vimcmd_replace_one_symbol = mkChar vim "foam";
|
||||
vimcmd_replace_symbol = mkChar vim "foam";
|
||||
vimcmd_visual_symbol = mkChar vim "iris";
|
||||
success_symbol = mkChar "" "${base0D}";
|
||||
error_symbol = mkChar "" "${base08}";
|
||||
vimcmd_symbol = mkChar vim "${base0A}";
|
||||
vimcmd_replace_one_symbol = mkChar vim "${base0C}";
|
||||
vimcmd_replace_symbol = mkChar vim "${base0C}";
|
||||
vimcmd_visual_symbol = mkChar vim "${base0D}";
|
||||
};
|
||||
|
||||
### Languages ###
|
||||
c = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
elixir = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
elm = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
haskell = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
java = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
julia = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
nodejs = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
nim = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
python = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
||||
};
|
||||
|
||||
rust = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault "";
|
||||
};
|
||||
|
||||
scala = {
|
||||
style = "bg:overlay fg:pine";
|
||||
style = "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault langFormat;
|
||||
disabled = false;
|
||||
symbol = " ";
|
||||
|
@ -221,14 +184,14 @@ in {
|
|||
|
||||
### Tools ###
|
||||
conda = {
|
||||
style = mkDefault "bg:overlay fg:pine";
|
||||
style = mkDefault "bg:${base02} fg:${base0B}";
|
||||
format = mkDefault (mkFormat "$symbol$environment");
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault "🅒 ";
|
||||
};
|
||||
|
||||
nix_shell = {
|
||||
style = "bg:overlay fg:foam";
|
||||
style = "bg:${base02} fg:${base0C}";
|
||||
format = mkDefault (mkFormat " $symbol $state( \($name\)) ");
|
||||
disabled = mkDefault false;
|
||||
symbol = mkDefault " ";
|
|
@ -12,15 +12,6 @@ in {
|
|||
programs.tmux = {
|
||||
enable = true;
|
||||
|
||||
rose-pine = {
|
||||
extraConfig =
|
||||
# tmux
|
||||
''
|
||||
set -g @rose_pine_host 'on'
|
||||
set -g @rose_pine_directory 'on'
|
||||
'';
|
||||
};
|
||||
|
||||
terminal = "tmux-256color";
|
||||
|
||||
escapeTime = 0;
|
||||
|
@ -40,6 +31,16 @@ in {
|
|||
shortcut = "a";
|
||||
|
||||
plugins = with pkgs.tmuxPlugins; [
|
||||
{
|
||||
# TODO: copy over bar config to allow stylix theming
|
||||
plugin = rose-pine;
|
||||
extraConfig =
|
||||
# tmux
|
||||
''
|
||||
set -g @rose_pine_host 'on'
|
||||
set -g @rose_pine_directory 'on'
|
||||
'';
|
||||
}
|
||||
{
|
||||
plugin = resurrect;
|
||||
}
|
||||
|
|
|
@ -9,6 +9,13 @@ in {
|
|||
options.marleyos.programs.floorp.enable = lib.mkEnableOption "floorp";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# FIXME: switch to this once it's available
|
||||
# stylix.targets.floorp = {
|
||||
# enable = true;
|
||||
# colorTheme.enable = true;
|
||||
# profileNames = [config.marleyos.my.name];
|
||||
# };
|
||||
|
||||
programs.floorp = {
|
||||
enable = true;
|
||||
|
||||
|
@ -23,6 +30,7 @@ in {
|
|||
consent-o-matic
|
||||
darkreader
|
||||
facebook-container
|
||||
firefox-color
|
||||
kagi-search
|
||||
# libredirect
|
||||
# proton-vpn
|
||||
|
@ -306,6 +314,13 @@ in {
|
|||
|
||||
# 2 = auto; 1 = light; 0 = dark
|
||||
"layout.css.prefers-color-scheme.content-override" = 0;
|
||||
|
||||
# FIXME: Switch to stylix module once it's available for Floorp.
|
||||
"font.name.monospace.x-western" =
|
||||
config.stylix.fonts.monospace.name;
|
||||
"font.name.sans-serif-x-western" =
|
||||
config.stylix.fonts.sansSerif.name;
|
||||
"font.name.serif.x-western" = config.stylix.fonts.serif.name;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -9,6 +9,7 @@ in {
|
|||
options.marleyos.programs.vesktop.enable = lib.mkEnableOption "vesktop";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# TODO: Switch to nixcord.
|
||||
home.packages = with pkgs; [
|
||||
vesktop
|
||||
];
|
||||
|
|
|
@ -11,11 +11,6 @@
|
|||
|
||||
isGenericLinux = config.targets.genericLinux.enable;
|
||||
isNotNixOS = isGenericLinux || (is-darwin system);
|
||||
|
||||
theme =
|
||||
if config.rose-pine.enable
|
||||
then "rose-pine"
|
||||
else "";
|
||||
in {
|
||||
options.marleyos.programs.wezterm.enable = lib.mkEnableOption "wezterm";
|
||||
|
||||
|
@ -32,9 +27,7 @@ in {
|
|||
|
||||
# TODO: create `local config` & return it seperately, so other modules can
|
||||
# insert config in the middle
|
||||
extraConfig = let
|
||||
inherit (config.marleyos.theme) fonts;
|
||||
in
|
||||
extraConfig =
|
||||
# lua
|
||||
''
|
||||
local config = wezterm.config_builder()
|
||||
|
@ -44,44 +37,6 @@ in {
|
|||
|
||||
config.enable_tab_bar = false
|
||||
|
||||
config.color_scheme = "${theme}"
|
||||
|
||||
config.font = wezterm.font_with_fallback({
|
||||
{
|
||||
family = "${fonts.monospace.name}",
|
||||
harfbuzz_features = {
|
||||
${lib.concatStrings fonts.monospace.ligatures}
|
||||
}
|
||||
},
|
||||
{ family = "FairiesevkaTerm Nerd Font Mono" },
|
||||
{
|
||||
family = "FiraCode Nerd Font",
|
||||
harfbuzz_features = {
|
||||
"cv02",
|
||||
"cv06",
|
||||
"ss01",
|
||||
"cv14",
|
||||
"onum",
|
||||
"ss04",
|
||||
"cv18",
|
||||
"cv31",
|
||||
"cv30",
|
||||
"cv25",
|
||||
"cv26",
|
||||
"cv32",
|
||||
"ss06",
|
||||
"ss07",
|
||||
},
|
||||
},
|
||||
{ family = "${fonts.emoji.name}" },
|
||||
})
|
||||
|
||||
config.font_size = ${
|
||||
if (is-darwin system)
|
||||
then "14.0"
|
||||
else "11.0"
|
||||
}
|
||||
|
||||
return config
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -6,15 +6,6 @@
|
|||
...
|
||||
}: let
|
||||
cfg = config.marleyos.programs.amfora;
|
||||
|
||||
theme =
|
||||
if config.rose-pine.enable
|
||||
then "rose-pine"
|
||||
else "";
|
||||
themeFiles = {
|
||||
rose-pine = "${inputs.rose-pine-amfora}/themes/rose-pine.toml";
|
||||
};
|
||||
themeFile = themeFiles."${theme}";
|
||||
in {
|
||||
options.marleyos.programs.amfora.enable = lib.mkEnableOption "amfora";
|
||||
|
||||
|
@ -23,7 +14,10 @@ in {
|
|||
amfora
|
||||
];
|
||||
|
||||
xdg.configFile."amfora/theme.toml".source = themeFile;
|
||||
xdg.configFile."amfora/theme.toml".source = config.lib.stylix.colors {
|
||||
template = ./template.mustache;
|
||||
extension = ".toml";
|
||||
};
|
||||
|
||||
# https://github.com/makeworld-the-better-one/amfora/blob/master/default-config.toml
|
||||
# Amfora requires a number of options to run - omitting everything I didn't
|
||||
|
@ -52,7 +46,7 @@ in {
|
|||
underline = true
|
||||
# }}}
|
||||
|
||||
highlight_style = "${theme}"
|
||||
highlight_style = "${config.lib.stylix.colors.scheme-name}"
|
||||
|
||||
# Defaults {{{
|
||||
[auth]
|
||||
|
|
46
modules/home/programs/tui/amfora/template.mustache
Normal file
46
modules/home/programs/tui/amfora/template.mustache
Normal file
|
@ -0,0 +1,46 @@
|
|||
## vim:set ft=toml:
|
||||
## name: {{scheme-name}}
|
||||
## adapted from: https://github.com/rose-pine/amfora/blob/main/themes/rose-pine.toml
|
||||
|
||||
bg = "{{base00-hex}}"
|
||||
tab_num = "{{base0D-hex}}"
|
||||
tab_divider = "{{base07-hex}}"
|
||||
bottombar_label = "{{base0D-hex}}"
|
||||
bottombar_text = "{{base05-hex}}"
|
||||
bottombar_bg = "{{base01-hex}}"
|
||||
scrollbar = "{{base01-hex}}"
|
||||
hdg_1 = "{{base0D-hex}}"
|
||||
hdg_2 = "{{base0C-hex}}"
|
||||
hdg_3 = "{{base0A-hex}}"
|
||||
amfora_link = "{{base09-hex}}"
|
||||
foreign_link = "{{base04-hex}}"
|
||||
link_number = "{{base03-hex}}"
|
||||
regular_text = "{{base05-hex}}"
|
||||
quote_text = "{{base06-hex}}"
|
||||
preformatted_text = "{{base06-hex}}"
|
||||
list_text = "{{base05-hex}}"
|
||||
btn_bg = "{{base0B-hex}}"
|
||||
btn_text = "{{base05-hex}}"
|
||||
dl_choice_modal_bg = "{{base01-hex}}"
|
||||
dl_choice_modal_text = "{{base05-hex}}"
|
||||
dl_modal_bg = "{{base01-hex}}"
|
||||
dl_modal_text = "{{base05-hex}}"
|
||||
info_modal_bg = "{{base01-hex}}"
|
||||
info_modal_text = "{{base05-hex}}"
|
||||
error_modal_bg = "{{base01-hex}}"
|
||||
error_modal_text = "{{base08-hex}}"
|
||||
yesno_modal_bg = "{{base01-hex}}"
|
||||
yesno_modal_text = "{{base05-hex}}"
|
||||
tofu_modal_bg = "{{base01-hex}}"
|
||||
tofu_modal_text = "{{base05-hex}}"
|
||||
subscription_modal_bg = "{{base01-hex}}"
|
||||
subscription_modal_text = "{{base05-hex}}"
|
||||
input_modal_bg = "{{base01-hex}}"
|
||||
input_modal_text = "{{base05-hex}}"
|
||||
input_modal_field_bg = "{{base02-hex}}"
|
||||
input_modal_field_text = "{{base05-hex}}"
|
||||
bkmk_modal_bg = "{{base01-hex}}"
|
||||
bkmk_modal_text = "{{base05-hex}}"
|
||||
bkmk_modal_label = "{{base0D-hex}}"
|
||||
bkmk_modal_field_bg = "{{base02-hex}}"
|
||||
bkmk_modal_field_text = "{{base05-hex}}"
|
|
@ -12,7 +12,6 @@ in {
|
|||
enable = true;
|
||||
|
||||
settings = {
|
||||
theme_background = false;
|
||||
truecolor = true;
|
||||
vim_keys = true;
|
||||
};
|
||||
|
|
|
@ -22,5 +22,10 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
stylix.targets.cava = {
|
||||
enable = true;
|
||||
rainbow.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -19,30 +19,16 @@ in {
|
|||
no_fade_in = false;
|
||||
};
|
||||
|
||||
background = [
|
||||
{
|
||||
path = "${../../../wayland/hyprland/wallpaper.png}";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
|
||||
input-field = [
|
||||
{
|
||||
size = "200, 50";
|
||||
position = "0, -80";
|
||||
monitor = "";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
# FIXME: Don't hardcode these.
|
||||
font_color = "rgb(191724)";
|
||||
inner_color = "rgb(ebbcba)";
|
||||
outer_color = "rgb(191724)";
|
||||
outline_thickness = 5;
|
||||
placeholder_text = "password...";
|
||||
shadow_passes = 2;
|
||||
}
|
||||
];
|
||||
input-field = {
|
||||
size = "200, 50";
|
||||
position = "0, -80";
|
||||
monitor = "";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
outline_thickness = 5;
|
||||
placeholder_text = "password...";
|
||||
shadow_passes = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -203,125 +203,109 @@ in {
|
|||
style = let
|
||||
transition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
|
||||
in
|
||||
lib.concatStrings [
|
||||
(lib.optionalString config.rose-pine.enable
|
||||
#css
|
||||
''
|
||||
@define-color zero @base;
|
||||
@define-color one @surface;
|
||||
@define-color two @overlay;
|
||||
@define-color four @subtle;
|
||||
@define-color seven @highlightHigh;
|
||||
@define-color eight @love;
|
||||
@define-color b @pine;
|
||||
@define-color e @gold;
|
||||
@define-color d @iris;
|
||||
@define-color accentFour @foam;
|
||||
'')
|
||||
# css
|
||||
''
|
||||
* {
|
||||
font-family: ${config.marleyos.theme.fonts.monospace.name};
|
||||
font-size: 16px;
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
min-height: 0;
|
||||
}
|
||||
# css
|
||||
''
|
||||
* {
|
||||
font-family: ${config.stylix.fonts.monospace.name};
|
||||
font-size: 16px;
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
}
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
color: @zero;
|
||||
background: @one;
|
||||
margin: 4px 4px;
|
||||
padding: 5px 5px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
#workspaces {
|
||||
color: @base00;
|
||||
background: @base01;
|
||||
margin: 4px 4px;
|
||||
padding: 5px 5px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
font-weight: bold;
|
||||
padding: 0 5px;
|
||||
margin: 0 3px;
|
||||
border-radius: 16px;
|
||||
color: @zero;
|
||||
background: linear-gradient(45deg, @eight, @d);
|
||||
opacity: 0.5;
|
||||
transition: ${transition};
|
||||
}
|
||||
#workspaces button {
|
||||
font-weight: bold;
|
||||
padding: 0 5px;
|
||||
margin: 0 3px;
|
||||
border-radius: 16px;
|
||||
color: @base00;
|
||||
background: linear-gradient(45deg, @base08, @base0D);
|
||||
opacity: 0.5;
|
||||
transition: ${transition};
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
font-weight: bold;
|
||||
padding: 0 5px;
|
||||
margin: 0 3px;
|
||||
border-radius: 16px;
|
||||
color: @zero;
|
||||
background: linear-gradient(45deg, @eight, @d);
|
||||
opacity: 1.0;
|
||||
transition: ${transition};
|
||||
min-width: 40px;
|
||||
}
|
||||
#workspaces button.active {
|
||||
font-weight: bold;
|
||||
padding: 0 5px;
|
||||
margin: 0 3px;
|
||||
border-radius: 16px;
|
||||
color: @base00;
|
||||
background: linear-gradient(45deg, @base08, @base0D);
|
||||
opacity: 1.0;
|
||||
transition: ${transition};
|
||||
min-width: 40px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
font-weight: bold;
|
||||
border-radius: 16px;
|
||||
color: @zero;
|
||||
background: linear-gradient(45deg, @eight, @iris);
|
||||
opacity: 0.8;
|
||||
transition: ${transition};
|
||||
}
|
||||
#workspaces button:hover {
|
||||
font-weight: bold;
|
||||
border-radius: 16px;
|
||||
color: @base00;
|
||||
background: linear-gradient(45deg, @base08, @iris);
|
||||
opacity: 0.8;
|
||||
transition: ${transition};
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: @zero;
|
||||
border: 1px solid @eight;
|
||||
border-radius: 12px;
|
||||
}
|
||||
tooltip {
|
||||
background: @base00;
|
||||
border: 1px solid @base08;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
color: @eight;
|
||||
}
|
||||
tooltip label {
|
||||
color: @base08;
|
||||
}
|
||||
|
||||
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
|
||||
font-weight: bold;
|
||||
margin: 4px 0;
|
||||
margin-left: 7px;
|
||||
padding: 0 18px;
|
||||
background: @four;
|
||||
color: @zero;
|
||||
border-radius: 24px 10px 24px 10px;
|
||||
}
|
||||
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
|
||||
font-weight: bold;
|
||||
margin: 4px 0;
|
||||
margin-left: 7px;
|
||||
padding: 0 18px;
|
||||
background: @base04;
|
||||
color: @base00;
|
||||
border-radius: 24px 10px 24px 10px;
|
||||
}
|
||||
|
||||
#custom-startmenu {
|
||||
color: @b;
|
||||
background: @two;
|
||||
font-size: 28px;
|
||||
margin: 0;
|
||||
padding: 0 30px 0 15px;
|
||||
border-radius: 0 0 40px 0;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: @base0B;
|
||||
background: @base02;
|
||||
font-size: 28px;
|
||||
margin: 0;
|
||||
padding: 0 30px 0 15px;
|
||||
border-radius: 0 0 40px 0;
|
||||
}
|
||||
|
||||
#network, #battery, #custom-notifications,
|
||||
#tray, #custom-exit {
|
||||
font-weight: bold;
|
||||
background: @seven;
|
||||
color: @zero;
|
||||
margin: 4px 0;
|
||||
margin-right: 7px;
|
||||
border-radius: 10px 24px 10px 24px;
|
||||
padding: 0 18px;
|
||||
}
|
||||
#network, #battery, #custom-notifications,
|
||||
#tray, #custom-exit {
|
||||
font-weight: bold;
|
||||
background: @base07;
|
||||
color: @base00;
|
||||
margin: 4px 0;
|
||||
margin-right: 7px;
|
||||
border-radius: 10px 24px 10px 24px;
|
||||
padding: 0 18px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
color: @zero;
|
||||
background: linear-gradient(90deg, @e, @accentFour);
|
||||
margin: 0;
|
||||
padding: 0 15px 0 30px;
|
||||
border-radius: 0 0 0 40px;
|
||||
}
|
||||
''
|
||||
];
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
color: @base00;
|
||||
background: linear-gradient(90deg, @base0E, @base0C);
|
||||
margin: 0;
|
||||
padding: 0 15px 0 30px;
|
||||
border-radius: 0 0 0 40px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -58,84 +58,75 @@ in {
|
|||
}
|
||||
];
|
||||
|
||||
style = lib.concatStrings [
|
||||
(lib.optionalString config.rose-pine.enable
|
||||
style = with config.lib.stylix.colors.withHashtag;
|
||||
lib.concatStrings [
|
||||
#css
|
||||
''
|
||||
@define-color zero #191724;
|
||||
@define-color one #1f1d2e;
|
||||
@define-color two #26233a;
|
||||
@define-color four #908caa;
|
||||
@define-color five #e0def4;
|
||||
@define-color seven #524f67;
|
||||
@define-color eight #eb6f92;
|
||||
@define-color b #31748f;
|
||||
@define-color e #f6c177;
|
||||
@define-color d #c4a7e7;
|
||||
@define-color c #9ccf38;
|
||||
'')
|
||||
# css
|
||||
''
|
||||
* {
|
||||
font-family: ${config.marleyos.theme.fonts.monospace.name};
|
||||
background-image: none;
|
||||
transition: 20ms;
|
||||
}
|
||||
@define-color base05 ${base05};
|
||||
@define-color base0B ${base0B};
|
||||
''
|
||||
# css
|
||||
''
|
||||
* {
|
||||
font-family: ${config.stylix.fonts.monospace.name};
|
||||
background-image: none;
|
||||
transition: 20ms;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: rgba(12, 12, 12, 0.1);
|
||||
}
|
||||
window {
|
||||
background-color: rgba(12, 12, 12, 0.1);
|
||||
}
|
||||
|
||||
button {
|
||||
color: @five;
|
||||
font-size: 20px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 25%;
|
||||
border-style: solid;
|
||||
background-color: rgba(12, 12, 12, 0.3);
|
||||
border: 3px solid @five;
|
||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
button {
|
||||
color: @base05;
|
||||
font-size: 20px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 25%;
|
||||
border-style: solid;
|
||||
background-color: rgba(12, 12, 12, 0.3);
|
||||
border: 3px solid @base05;
|
||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
button:focus, button:active, button:hover {
|
||||
color: @b;
|
||||
background-color: rgba(12, 12, 12, 0.5);
|
||||
border: 3px solid @b;
|
||||
}
|
||||
button:focus, button:active, button:hover {
|
||||
color: @base0B;
|
||||
background-color: rgba(12, 12, 12, 0.5);
|
||||
border: 3px solid @base0B;
|
||||
}
|
||||
|
||||
#lock {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./lock.png}"));
|
||||
}
|
||||
#logout {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./logout.png}"));
|
||||
}
|
||||
#reboot {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./reboot.png}"));
|
||||
}
|
||||
#shutdown {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./shutdown.png}"));
|
||||
}
|
||||
#suspend {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./suspend.png}"));
|
||||
}
|
||||
#hibernate {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./hibernate.png}"));
|
||||
}
|
||||
''
|
||||
];
|
||||
#lock {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./lock.png}"));
|
||||
}
|
||||
#logout {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./logout.png}"));
|
||||
}
|
||||
#reboot {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./reboot.png}"));
|
||||
}
|
||||
#shutdown {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./shutdown.png}"));
|
||||
}
|
||||
#suspend {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./suspend.png}"));
|
||||
}
|
||||
#hibernate {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
background-image: image(url("${./hibernate.png}"));
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,98 +11,56 @@ in {
|
|||
services.dunst = {
|
||||
enable = true;
|
||||
|
||||
# I don't want to use the rose-pine icons; also don't want to deal with
|
||||
# the drop-in weirdness.
|
||||
# TODO: Convert dunst.rose-pine to attr set to fix this.
|
||||
rose-pine.enable = true;
|
||||
iconTheme = with config.stylix.iconTheme; {
|
||||
name =
|
||||
if config.lib.stylix.colors.variant == "dark"
|
||||
then dark
|
||||
else light;
|
||||
inherit package;
|
||||
};
|
||||
|
||||
settings = lib.mkMerge [
|
||||
### Rose Pine ###
|
||||
(lib.mkIf config.rose-pine.enable {
|
||||
global = {
|
||||
width = 400;
|
||||
offset = "20x60";
|
||||
progress_bar_min_width = 380;
|
||||
progress_bar_max_width = 380;
|
||||
progress_bar_corner_radius = 2;
|
||||
padding = 10;
|
||||
horizontal_padding = 10;
|
||||
frame_width = 1;
|
||||
gap_size = 3;
|
||||
corner_radius = 2;
|
||||
background = "#26233a";
|
||||
foreground = "#e0def4";
|
||||
};
|
||||
settings = {
|
||||
global = with config.stylix.fonts; {
|
||||
monitor = 0;
|
||||
sort = "yes";
|
||||
idle_threshold = 120;
|
||||
font = "${monospace.name} ${toString sizes.popup}";
|
||||
markup = "full";
|
||||
show_age_threshold = 60;
|
||||
word_wrap = "yes";
|
||||
ignore_newline = "no";
|
||||
stack_duplicates = true;
|
||||
hide_duplicate_count = false;
|
||||
show_indicators = "yes";
|
||||
sticky_history = "yes";
|
||||
history_length = 20;
|
||||
browser = "${lib.getExe config.marleyos.apps.browser} --new-tab";
|
||||
always_run_script = true;
|
||||
title = "Dunst";
|
||||
class = "Dunst";
|
||||
mouse_left_click = "do_action";
|
||||
mouse_middle_click = "close_current";
|
||||
mouse_right_click = "close_all";
|
||||
};
|
||||
|
||||
urgency_low = {
|
||||
background = "#26273d";
|
||||
highlight = "#31748f";
|
||||
frame_color = "#31748f";
|
||||
default_icon = "dialog-information";
|
||||
format = "<b><span foreground='#31748f'>%s</span></b>\\n%b";
|
||||
};
|
||||
signed_on = {
|
||||
appname = "Pidgin";
|
||||
summary = "*signed on*";
|
||||
urgency = "low";
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
background = "#362e3c";
|
||||
highlight = "#f6c177";
|
||||
frame_color = "#f6c177";
|
||||
default_icon = "dialog-warning";
|
||||
format = "<b><span foreground='#f6c177'>%s</span></b>\\n%b";
|
||||
};
|
||||
signed_off = {
|
||||
appname = "Pidgin";
|
||||
summary = "*signed off*";
|
||||
urgency = "low";
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
background = "#35263d";
|
||||
highlight = "#eb6f92";
|
||||
frame_color = "#eb6f92";
|
||||
default_icon = "dialog-error";
|
||||
format = "<b><span foreground='#eb6f92'>%s</span></b>\\n%b";
|
||||
};
|
||||
})
|
||||
|
||||
### Custom ###
|
||||
{
|
||||
global = {
|
||||
monitor = 0;
|
||||
sort = "yes";
|
||||
idle_threshold = 120;
|
||||
font = config.marleyos.theme.fonts.monospace.name + " 10";
|
||||
markup = "full";
|
||||
show_age_threshold = 60;
|
||||
word_wrap = "yes";
|
||||
ignore_newline = "no";
|
||||
stack_duplicates = true;
|
||||
hide_duplicate_count = false;
|
||||
show_indicators = "yes";
|
||||
sticky_history = "yes";
|
||||
history_length = 20;
|
||||
browser = "/usr/bin/zen-browser --new-tab";
|
||||
always_run_script = true;
|
||||
title = "Dunst";
|
||||
class = "Dunst";
|
||||
mouse_left_click = "do_action";
|
||||
mouse_middle_click = "close_current";
|
||||
mouse_right_click = "close_all";
|
||||
};
|
||||
|
||||
signed_on = {
|
||||
appname = "Pidgin";
|
||||
summary = "*signed on*";
|
||||
urgency = "low";
|
||||
};
|
||||
|
||||
signed_off = {
|
||||
appname = "Pidgin";
|
||||
summary = "*signed off*";
|
||||
urgency = "low";
|
||||
};
|
||||
|
||||
says = {
|
||||
appname = "Pidgin";
|
||||
summary = "*says*";
|
||||
urgency = "critical";
|
||||
};
|
||||
}
|
||||
];
|
||||
says = {
|
||||
appname = "Pidgin";
|
||||
summary = "*says*";
|
||||
urgency = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,14 +6,7 @@
|
|||
}: let
|
||||
cfg = config.marleyos.services.swaybg;
|
||||
in {
|
||||
options.marleyos.services.swaybg = {
|
||||
enable = lib.mkEnableOption "swaybg";
|
||||
|
||||
wallpaper = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
description = "Path to the wallpaper to use.";
|
||||
};
|
||||
};
|
||||
options.marleyos.services.swaybg.enable = lib.mkEnableOption "swaybg";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
|
@ -34,7 +27,7 @@ in {
|
|||
|
||||
Service = {
|
||||
Type = "exec";
|
||||
ExecStart = "${lib.getExe pkgs.swaybg} -i ${cfg.wallpaper}";
|
||||
ExecStart = "${lib.getExe pkgs.swaybg} -i ${config.stylix.image}";
|
||||
ExecReload = "${lib.getExe' pkgs.coreutils "kill"} -SIGUSR2 $MAINPID";
|
||||
KillMode = "mixed";
|
||||
Restart = "on-failure";
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.wayland.hyprland;
|
||||
|
@ -50,24 +48,14 @@ in {
|
|||
};
|
||||
|
||||
home.sessionVariables = let
|
||||
cfg = config.home.pointerCursor;
|
||||
cfg = config.stylix.cursor;
|
||||
in {
|
||||
HYPRCURSOR_THEME = cfg.name;
|
||||
HYPRCURSOR_SIZE = 24;
|
||||
HYPRCURSOR_SIZE = cfg.size;
|
||||
};
|
||||
|
||||
home.packages =
|
||||
lib.optional
|
||||
config.rose-pine.enable
|
||||
inputs.rose-pine-hyprcursor.packages.${pkgs.system}.default;
|
||||
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
preload = "${./wallpaper.png}";
|
||||
wallpaper = ", ${./wallpaper.png}";
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
|
@ -138,32 +126,22 @@ in {
|
|||
"[workspace ${toString browserWs} silent] $browser"
|
||||
];
|
||||
|
||||
# Fix WM thinking the cursor is bigger than it is, causing the pointer
|
||||
# to be offset.
|
||||
env =
|
||||
[
|
||||
"XCURSOR_SIZE,24"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
]
|
||||
++ (lib.optional config.rose-pine.enable "HYPRCURSOR_THEME,rose-pine-hyprcursor");
|
||||
|
||||
workspace =
|
||||
lib.mkIf (cfg ? monitors)
|
||||
(map
|
||||
(ws: "${toString ws}, monitor:${wsMons."${toString ws}"}")
|
||||
workspaces);
|
||||
|
||||
"$main" = lib.mkIf config.rose-pine.enable "$love";
|
||||
"$inactive" = lib.mkIf config.rose-pine.enable "$muted";
|
||||
general = let
|
||||
inherit (config.lib.stylix) colors;
|
||||
|
||||
general = {
|
||||
rgb = color: "rgb(${color})";
|
||||
in {
|
||||
gaps_in = 5;
|
||||
gaps_out = 20;
|
||||
border_size = 2;
|
||||
|
||||
"col.inactive_border" = "$inactive";
|
||||
"col.active_border" =
|
||||
lib.mkIf config.rose-pine.enable "$rose $pine $love $iris 90deg";
|
||||
"col.active_border" = with colors; "${rgb base0A} ${rgb base0B} ${rgb base08} ${rgb base0D} 90deg";
|
||||
|
||||
resize_on_border = false;
|
||||
|
||||
|
@ -177,7 +155,6 @@ in {
|
|||
enabled = true;
|
||||
range = 4;
|
||||
render_power = 3;
|
||||
color = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
blur = {
|
||||
|
@ -233,8 +210,6 @@ in {
|
|||
|
||||
"$mod" = "SUPER";
|
||||
|
||||
# When changing these, make sure to also update waybar's script, defined
|
||||
# below.
|
||||
bind = [
|
||||
"$mod, Q, killactive,"
|
||||
"$mod SHIFT, E, exit,"
|
||||
|
|
|
@ -25,10 +25,7 @@ in {
|
|||
fuzzel.enable = true;
|
||||
};
|
||||
services = {
|
||||
swaybg = {
|
||||
enable = true;
|
||||
wallpaper = ./wallpaper.png;
|
||||
};
|
||||
swaybg.enable = true;
|
||||
swaync.enable = true;
|
||||
};
|
||||
};
|
||||
|
@ -43,6 +40,7 @@ in {
|
|||
prefer-no-csd = true;
|
||||
hotkey-overlay.skip-at-startup = true;
|
||||
|
||||
### Startup Programs ###
|
||||
spawn-at-startup = let
|
||||
inherit (config.marleyos) apps;
|
||||
in [
|
||||
|
@ -51,18 +49,12 @@ in {
|
|||
(cmd (lib.getExe apps.email))
|
||||
];
|
||||
|
||||
### Layout ###
|
||||
layout = let
|
||||
hasTheme = config.rose-pine.enable;
|
||||
mkTheme = lib.mkIf hasTheme;
|
||||
colors =
|
||||
if hasTheme
|
||||
then config.rose-pine.palette
|
||||
else null;
|
||||
|
||||
gradient = {
|
||||
gradient = {
|
||||
from = colors.rose.hex;
|
||||
to = colors.iris.hex;
|
||||
gradient = with config.lib.stylix.colors.withHashtag; {
|
||||
from = base08;
|
||||
to = base0D;
|
||||
angle = 90;
|
||||
};
|
||||
};
|
||||
|
@ -78,16 +70,9 @@ in {
|
|||
|
||||
default-column-width = {proportion = 0.5;};
|
||||
|
||||
focus-ring = {
|
||||
width = 4;
|
||||
active = mkTheme gradient;
|
||||
inactive = {color = colors.highlight-high.hex;};
|
||||
};
|
||||
|
||||
border = {
|
||||
width = 4;
|
||||
active = mkTheme gradient;
|
||||
inactive = {color = colors.highlight-high.hex;};
|
||||
active = gradient;
|
||||
};
|
||||
|
||||
shadow = {
|
||||
|
@ -103,8 +88,10 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
### Screenshots ###
|
||||
screenshot-path = "~/pictures/screenshots/%Y-%m-%d %H-%M-%S.png";
|
||||
|
||||
### Workspaces ###
|
||||
workspaces = {
|
||||
"01-main" = {
|
||||
open-on-output = builtins.elemAt cfg.monitors 0;
|
||||
|
@ -120,6 +107,7 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
### Window Rules ###
|
||||
window-rules =
|
||||
[
|
||||
{
|
||||
|
@ -163,6 +151,7 @@ in {
|
|||
}
|
||||
]);
|
||||
|
||||
### Keybinds ###
|
||||
binds = with config.lib.niri.actions; {
|
||||
"Mod+Q".action = close-window;
|
||||
"Mod+Shift+E".action = quit;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.appearance.base;
|
||||
|
@ -8,9 +9,39 @@ in {
|
|||
options.marleyos.appearance.base.enable = lib.mkEnableOption "base";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
rose-pine = {
|
||||
stylix = {
|
||||
enable = true;
|
||||
flavor = "main";
|
||||
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml";
|
||||
image = ./wallpaper.png;
|
||||
|
||||
fonts = {
|
||||
serif = {
|
||||
package = pkgs.eb-garamond;
|
||||
name = "EB Garamond";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.dm-sans;
|
||||
name = "DeepMind Sans";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.maple-mono-NF;
|
||||
name = "Maple Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.whatsapp-emoji-font;
|
||||
name = "Apple Color Emoji";
|
||||
};
|
||||
|
||||
sizes = {
|
||||
terminal = 11;
|
||||
};
|
||||
};
|
||||
|
||||
cursor = {
|
||||
package = pkgs.rose-pine-cursor;
|
||||
name = "BreezeX-RosePine-Linux";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 4.7 MiB After Width: | Height: | Size: 4.7 MiB |
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.appearance.console;
|
||||
in {
|
||||
options.marleyos.appearance.console.enable = lib.mkEnableOption "console";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
console.rose-pine.enable = lib.mkIf config.rose-pine.enable true;
|
||||
};
|
||||
}
|
|
@ -20,7 +20,6 @@ in {
|
|||
|
||||
appearance = {
|
||||
base = enabled;
|
||||
console = enabled;
|
||||
};
|
||||
|
||||
programs = {
|
||||
|
|
|
@ -15,7 +15,6 @@ in {
|
|||
|
||||
appearance = {
|
||||
base = enabled;
|
||||
console = enabled;
|
||||
};
|
||||
|
||||
programs = {
|
||||
|
|
7
modules/nixos/options/isDesktop/default.nix
Normal file
7
modules/nixos/options/isDesktop/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{lib, ...}: {
|
||||
options.marleyos.isDesktop = lib.mkOption {
|
||||
type = with lib.types; bool;
|
||||
default = false;
|
||||
description = "Whether this machine is used as a graphical desktop.";
|
||||
};
|
||||
}
|
10
overlays/maple-mono-NF/default.nix
Normal file
10
overlays/maple-mono-NF/default.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
_: final: prev: {
|
||||
maple-mono-NF = prev.maple-mono-NF.overrideAttrs (old: {
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "punkfairie";
|
||||
repo = "maple-font";
|
||||
rev = "v1740887062";
|
||||
hash = "sha256-e0c1c8wtprdgrYcQ7/RsiABIWUCPjVV8jxTLAjO5ZQk";
|
||||
};
|
||||
});
|
||||
}
|
|
@ -10,6 +10,7 @@ in {
|
|||
|
||||
marleyos = {
|
||||
hasNvidia = true;
|
||||
|
||||
mounts.babeshare = enabled;
|
||||
|
||||
bundles.desktop = enabled;
|
||||
|
|
Loading…
Reference in a new issue