Compare commits

...

6 Commits

Author SHA1 Message Date
Lennart J. Kurzweg (Nx2)
6809a6494f Crypto Change
luks for xps
ssh via ssh
sops via age
gpg backbone, but not removed
gpg-agent removed
2025-10-04 22:53:18 +02:00
Lennart J. Kurzweg (Nx2)
21fee7056a hypr.home fix 2025-10-04 22:52:06 +02:00
Lennart J. Kurzweg (Nx2)
d581209fdf Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles 2025-10-04 12:29:02 +02:00
Lennart J. Kurzweg (Nx2)
67c1f6fb25 firefox refactor + shadow fix 2025-10-04 12:09:33 +02:00
Lennart J. Kurzweg (Nx2)
c1ca5b2cf5 sleek rclone 2025-10-04 12:08:59 +02:00
Lennart J. Kurzweg (Nx2)
3818645825 more gnome base programs 2025-10-04 12:08:37 +02:00
20 changed files with 553 additions and 519 deletions

View File

@@ -2,6 +2,7 @@ keys:
- &users:
- &nx2 22FB2CC03DC5292AB81CF67D0AF27B383170E634
- &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
- &xps-home age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k
- &hosts:
- &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
- &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
@@ -14,5 +15,6 @@ creation_rules:
- *xps
- *ace
- *nx2_key_13
- *xps-home
pgp:
- *nx2

View File

@@ -1,13 +1,13 @@
{
"base": {
"foreground": "#fefefe",
"background": "#020202"
"foreground": "#fee5cc",
"background": "#190c00"
},
"to_alter": {
"accent": "#aaaaff",
"secondary": "#aaeeff",
"tertiary": "#aaffaa",
"special": "#aaffaa",
"weird": "#ffffaa"
"accent": "#fc9835",
"secondary": "#fc3535",
"tertiary": "#e64b73",
"special": "#3499fc",
"weird": "#56fc34"
}
}

92
flake.lock generated
View File

@@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1755946532,
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
"lastModified": 1759499898,
"narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
"rev": "655e067f96fd44b3f5685e17f566b0e4d535d798",
"type": "github"
},
"original": {
@@ -39,11 +39,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1759184217,
"narHash": "sha256-9XS/OqgjH7aof2Vt6AGe2voA0U/xrWL7QJQnqa6B80Y=",
"lastModified": 1759572648,
"narHash": "sha256-0f1EsUBA64FV14RuNLyo3XDLLgvY+l2X/Bro+T4+AdM=",
"owner": "9001",
"repo": "copyparty",
"rev": "fc2754cba589774a4ff665546653e753c72ba7ce",
"rev": "38cc80982237e862e538a31f49e8c6aae749f014",
"type": "github"
},
"original": {
@@ -279,11 +279,11 @@
]
},
"locked": {
"lastModified": 1758192433,
"narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=",
"lastModified": 1759490292,
"narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7",
"rev": "9431db625cd9bb66ac55525479dce694101d6d7a",
"type": "github"
},
"original": {
@@ -308,11 +308,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1759169434,
"narHash": "sha256-SAJKAYq1QeDCx19+JVwkvyfXLpmXJrOyUCRH+Dy7T/c=",
"lastModified": 1759530922,
"narHash": "sha256-IKNfBuBbuofOVHJujnzBGaSydnmlMBRWl9owIZVVk9k=",
"ref": "refs/heads/main",
"rev": "38c1e72c9d81fcdad8f173e06102a5da18836230",
"revCount": 6467,
"rev": "76d998743ac10e712238c1016db4d8e8d16f1049",
"revCount": 6476,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -433,11 +433,11 @@
]
},
"locked": {
"lastModified": 1757694755,
"narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=",
"lastModified": 1759080228,
"narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c",
"rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
"type": "github"
},
"original": {
@@ -462,11 +462,11 @@
]
},
"locked": {
"lastModified": 1756810301,
"narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=",
"lastModified": 1758927902,
"narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931",
"rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
"type": "github"
},
"original": {
@@ -508,11 +508,11 @@
]
},
"locked": {
"lastModified": 1756117388,
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
"lastModified": 1759490926,
"narHash": "sha256-7IbZGJ5qAAfZsGhBHIsP8MBsfuFYS0hsxYHVkkeDG5Q=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
"rev": "94cce794344538c4d865e38682684ec2bbdb2ef3",
"type": "github"
},
"original": {
@@ -576,11 +576,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1758785683,
"narHash": "sha256-mRn51IeEBXeNh5a6xNLylk4PKBX0s/QQxgkEbYoPq/w=",
"lastModified": 1759348509,
"narHash": "sha256-at9xMhxMP65JYWlGWYJ412VKbS+tXkTM3f5t9Q8IyMA=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "1bfb978f2f6261b6086e04af17f9418e1fe36d70",
"rev": "d96dda76c1f1827634ddf28d386feabd2d135d21",
"type": "github"
},
"original": {
@@ -607,11 +607,11 @@
},
"nixpkgs-latest": {
"locked": {
"lastModified": 1759184131,
"narHash": "sha256-pDILdFbj+3Vt/RNZ4ODbIQqJ2HdeyidDAVggQ+hRDh0=",
"lastModified": 1759574388,
"narHash": "sha256-6Vv/JfG6A6YmlsKYqF88TrisrNWacTCUDX2Ibe8n4yw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0d4b74fdab79df77ae1e29f6b9e3a32ee6160032",
"rev": "32fd1eea9d3114de2acff9b10e67fd0007d2c833",
"type": "github"
},
"original": {
@@ -639,11 +639,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1759036355,
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
"lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github"
},
"original": {
@@ -654,11 +654,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1758198701,
"narHash": "sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc=",
"lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github"
},
"original": {
@@ -686,11 +686,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1758277210,
"narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=",
"lastModified": 1759036355,
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
"type": "github"
},
"original": {
@@ -702,11 +702,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1758791193,
"narHash": "sha256-F8WmEwFoHsnix7rt290R0rFXNJiMbClMZyIC/e+HYf0=",
"lastModified": 1759439645,
"narHash": "sha256-oiAyQaRilPk525Z5aTtTNWNzSrcdJ7IXM0/PL3CGlbI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "25e53aa156d47bad5082ff7618f5feb1f5e02d01",
"rev": "879bd460b3d3e8571354ce172128fbcbac1ed633",
"type": "github"
},
"original": {
@@ -846,11 +846,11 @@
]
},
"locked": {
"lastModified": 1759030640,
"narHash": "sha256-53VP3BqMXJqD1He1WADTFyUnpta3mie56H7nC59tSic=",
"lastModified": 1759188042,
"narHash": "sha256-f9QC2KKiNReZDG2yyKAtDZh0rSK2Xp1wkPzKbHeQVRU=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "9ac51832c70f2ff34fcc97b05fa74b4a78317f9e",
"rev": "9fcfabe085281dd793589bdc770a2e577a3caa5d",
"type": "github"
},
"original": {
@@ -952,11 +952,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1759072128,
"narHash": "sha256-n8mpisSJ3JLi9wI5CidfEMQeF8ogSiZUalAAPK3m1qA=",
"lastModified": 1759502148,
"narHash": "sha256-Yncc0FlzzvsZTAtId/usUKNdJR911mpQcR+ZNjabrio=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "879ed4999694c84d62ba85979e5031d58b85f85d",
"rev": "cd6881c9fe88dfe73d91980829fd371f5eeec242",
"type": "github"
},
"original": {

View File

@@ -31,7 +31,7 @@
inherit system;
user = "nx2";
domain = "nx2.site";
home = "/home/${user}/";
home = "/home/${user}";
webroot = "/var/lib/hugo/nx2site/public";
pkgs-version = "25.05";
};

View File

@@ -207,7 +207,7 @@ in {
"external": {
"streamlink": {
"quality": "",
"options": "--config ${hyper.home}.config/streamlink/config"
"options": "--config ${hyper.home}/.config/streamlink/config"
}
}
}

View File

@@ -1,7 +1,4 @@
{ pkgs, ... }@all: with all;
# browser.tabs.allow_transparent_browser
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/
{
{ pkgs, ... }@all: with all; {
programs.firefox.profiles."{hyper.user}".settings = {
"widget.use-xdg-desktop-portal.file-picker" = 1;
};
@@ -9,314 +6,11 @@
packages = with pkgs; [
firefox
];
file = with rice.color; let
blur = builtins.toString 20;
in {
".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = /* css */ ''
:root{
/* Popup panels */
--arrowpanel-background : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--arrowpanel-border-color : ${border} !important;
--arrowpanel-color : ${secondary.base} !important;
--arrowpanel-dimmed : rgba(${rice.lib.hex-to-rgb-comma-string background},0.4) !important;
--arrowpanel-dimmed-further : rgba(${rice.lib.hex-to-rgb-comma-string background},0.6) !important;
--arrowpanel-dimmed-even-further : rgba(${rice.lib.hex-to-rgb-comma-string background},0.8) !important;
/* Autocomplete */
--autocomplete-popup-background : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--autocomplete-popup-color : ${foreground} !important;
--autocomplete-popup-highlight-background: ${accent.base} !important;
--autocomplete-popup-highlight-color : ${foreground} !important;
/* Toolbar background */
--toolbar-bgcolor : rgba(${rice.lib.hex-to-rgb-comma-string background},0.4) !important;
--toolbar-non-lwt-bgcolor : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--toolbar-non-lwt-bgimage : none !important;
--toolbar-color : ${foreground} !important;
/* Tabs */
--tab-selected-bgcolor : ${accent.base} !important;
--tabs-border-color : ${border} !important;
--tab-line-color : ${accent.base} !important;
--tab-loader-size : 16px !important;
/* Sidebar */
--lwt-sidebar-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--lwt-sidebar-text-color : ${foreground} !important;
--sidebar-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--sidebar-text-color : ${foreground} !important;
--sidebar-border-color : ${border} !important;
/* URL bar */
--urlbar-popup-url-color : ${foreground} !important;
--urlbar-popup-action-color : ${secondary.base} !important;
--toolbar-field-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--toolbar-field-focus-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--toolbar-field-color : ${accent.base} !important;
--toolbar-field-focus-color : ${foreground} !important;
--toolbar-field-focus-border-color : ${accent.base} !important;
/* Buttons */
--toolbarbutton-icon-fill : ${foreground} !important;
--toolbarbutton-hover-background : rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.2) !important;
--toolbarbutton-active-background : rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.4) !important;
/* Notification and panel */
--panel-disabled-color : rgba(${rice.lib.hex-to-rgb-comma-string foreground},0.3) !important;
--panel-separator-color : ${border} !important;
/* New tab page */
--newtab-background-color : ${background} !important;
--newtab-background-color-secondary : ${secondary.dark} !important;
--newtab-text-primary-color : ${foreground} !important;
--newtab-text-secondary-color : ${secondary.base} !important;
--newtab-search-icon-color : ${accent.base} !important;
--tabpanel-background-color : transparent !important;
background : linear-gradient(180deg,rgba(${rice.lib.hex-to-rgb-comma-string secondary.dark}, ${builtins.toString rice.transparency}) 0%, rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) 100%) !important;
}
.tabbrowser-tab[selected="true"] {
color: ${background} !important;
}
#appcontent {
background: transparent !important;
}
#navigator-toolbox {
--tabs-border-color: transparent !important;
}
#toolbar-menubar, #TabsToolbar, #PersonalToolbar, #navigator-toolbox, #sidebar-box {
background-color: transparent !important;
-moz-appearance: none !important;
background-image: none !important;
}
window, #nav-bar{
background-color: transparent !important;
-moz-appearance: none !important;
background-image: none !important;
}
'';
".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = /* css */ ''
/* Removes the white loading page */
/* url(about:newtab), url(about:home) */
@-moz-document url(about:blank) {
html:not(#ublock0-epicker), html:not(#ublock0-epicker) body, #newtab-customize-overlay {
background: ${background} !important;
}
}
/* Sets up minimal incognito scrollbar */
@-moz-document url(about:privatebrowsing) {
:root{
scrollbar-width: thin !important;
scrollbar-color: rgb(161, 161, 161) transparent !important;
}
}
/* new-tab */
@-moz-document url-prefix(about:home), url-prefix(about:newtab) {
:root{
--newtab-background-color-secondary: ${background} !important;
}
body, html {
background: transparent !important;
}
.tile, .search-handoff-button {
border: ${builtins.toString rice.border-width}px solid ${border} !important;
}
}
@-moz-document domain(reddit.com) {
header {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(${blur}px);
}
body, html, .bg-neutral-background, .threadline, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar, comment-body-header, shreddit-comment-tree{
background-color: transparent !important;
}
}
@-moz-document domain(reddit.com) {
header {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
}
body, html, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar{
background-color: transparent !important;
}
}
@-moz-document domain(google.com) {
.sfbg {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(${blur}px);
}
body, html, div#search > * {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
.g, .appbar {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
div#rso {
* {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
}
div#cnt > div {
}
}
@media (prefers-color-scheme: dark) {
:root .theme-system {
--color-bg: transtparent !important;
--color-text: ${rice.color.foreground}
}
}
@-moz-document domain(developer.mozilla.org) {
html, body {
background-color: transparent !important;
}
.top-navigation, .article-actions-container {
background-color: rgba(0,0,0,1) !important;
backdrop-filter: blur(100px);
border-radius: ${builtins.toString rice.rounding}px;
}
}
@-moz-document domain(github.com) {
body, html, header, #repository-container-header, .bgColor-muted, section {
background-color: transparent !important;
}
}
@-moz-document domain(wikipedia.org) {
body, html, div.mw-page-container, .vector-header, .mw-header {
background-color: transparent !important;
}
:root {
--color-base: ${foreground} !important;
--color-base--hover: ${accent.bright} !important;
--color-emphasized: ${accent.base} !important;
--color-progressive: ${accent.base} !important;
--color-progressive--hover: ${accent.brighter} !important;
--color-progressive--active: ${secondary.bright} !important;
--color-destructive: ${negative.base} !important;
--color-destructive--hover: ${negative.brighter} !important;
--color-destructive--active: ${negative.bright} !important;
--color-visited: ${secondary.base} !important;
--color-visited--hover: ${secondary.brighter} !important;
--color-visited--active: ${secondary.bright} !important;
--color-error: ${negative.base} !important;
--color-error--hover: ${negative.bright} !important;
--color-error--active: ${negative.bright} !important;
--color-warning: ${weird.base} !important;
--color-success: ${positive.base} !important;
--color-notice: ${special.base} !important;
--color-content-added: ${positive.base} !important;
--color-content-removed: ${negative.base} !important;
--color-base--subtle: ${accent.dark} !important;
--box-shadow-color-base: ${black.base} !important;
--background-color-base: transparent !important;
--background-color-neutral: transparent !important;
--background-color-neutral-subtle: transparent !important;
--background-color-interactive: ${accent.darker} !important;
--background-color-interactive--hover: ${accent.dark} !important;
--background-color-interactive--active: ${secondary.dark} !important;
--background-color-interactive-subtle: ${subtle.darker} !important;
--background-color-interactive-subtle--hover: ${subtle.dark} !important;
--background-color-interactive-subtle--active: ${subtle.base} !important;
--border-color-base: ${border} !important;
--border-color-emphasized: ${border2} !important;
--border-color-subtle: ${subtle.base} !important;
--border-color-muted: ${subtle.dark} !important;
}
}
@-moz-document domain(youtube.com) {
body, html, div#content, ytd-app, #frosted-glass.with-chipbar.ytd-app, ytd-shorts[is-dark] #cinematic-shorts-scrim.ytd-shorts {
background-color: transparent !important;
}
#background.ytd-masthead, div#background {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(100px);
}
* {
--yt-spec-base-background: transparent;
--yt-spec-raised-background: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--yt-spec-menu-background: rgba(${rice.lib.hex-to-rgb-comma-string accent.dark}, ${builtins.toString rice.transparency}) !important;
--yt-spec-inverted-background: rgba(${rice.lib.hex-to-rgb-comma-string secondary.dark}, ${builtins.toString rice.transparency}) !important;
}
}
@-moz-document domain(mynixos.com) {
body, html {
background-color: transparent !important;
}
header, footer {
background-color: rgba(0,0,0,1) !important;
backdrop-filter: blur(100px);
border-radius: ${builtins.toString rice.rounding}px;
}
}
@-moz-document domain(moodle.informatik.tu-darmstadt.de) {
body, html , .main-inner, .main-inner * {
background-color: transparent !important;
}
.bg-primary {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string accent.base},0.5) !important;
}
}
@-moz-document url-prefix("https://nx2.site/") {
html {
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
background-repeat: repeat !important;
background-size: 2vmin 2vmin !important;
}
}
@-moz-document url-prefix("pw.nx2.site") {
html {
background: black;
}
}
@-moz-document url-prefix("pw.nx2.site") {
html {
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
background-repeat: repeat !important;
background-size: 2vmin 2vmin !important;
}
body, .tw-bg-background-alt3, main, .card-header, .card-body, .modal-body {
background-color: transparent !important;
}
.modal-open, .modal-header, form.modal-content, .modal-footer {
background-color: rgba(0,0,0,0.8) !important;
backdrop-filter: blur(5px);
}
.cdk-virtual-scroll-content-wrapper, .card, .tw-bg-background, .modal-content {
background-color: rgba(0,0,0,0.8) !important;
border-radius: 10px !important;
border: ${toString rice.border-width}px solid ${border} !important;
}
}
'';
# @-moz-document domain(chatgpt.com) {
# body, html , .bg-token-sidebar-surface-primary {
# background-color: transparent !important;
# }
# .bg-token-main-surface-primary {
# background-color: rgba(0,0,0,1) !important;
# backdrop-filter: blur(100px) !important;
# border-radius: ${builtins.toString rice.rounding}px !important;
# }
# }
file = {
".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = import ./userChrome.nix rice;
".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = import ./userContent.nix rice;
};
};
}
# browser.tabs.allow_transparent_browser
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/

View File

@@ -0,0 +1,19 @@
{ pkgs, ... }@all: with all;
# browser.tabs.allow_transparent_browser
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/
{
programs.firefox.profiles."{hyper.user}".settings = {
"widget.use-xdg-desktop-portal.file-picker" = 1;
};
home = {
packages = with pkgs; [
firefox
];
file = with rice.color; let
blur = builtins.toString 20;
f = rice.lib.hex-to-rgb-comma-string;
in {
".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = import ./userChrome.nix rice;
".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = import ./userContent.nix rice; };
};
}

View File

@@ -0,0 +1,92 @@
rice: with rice.color; let
f = rice.lib.hex-to-rgb-comma-string;
# blur = builtins.toString 20;
in /* css */ ''
:root{
/* Popup panels */
--arrowpanel-background : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--arrowpanel-border-color : ${border} !important;
--arrowpanel-color : ${secondary.base} !important;
--arrowpanel-dimmed : rgba(${f background},0.4) !important;
--arrowpanel-dimmed-further : rgba(${f background},0.6) !important;
--arrowpanel-dimmed-even-further : rgba(${f background},0.8) !important;
/* Autocomplete */
--autocomplete-popup-background : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--autocomplete-popup-color : ${foreground} !important;
--autocomplete-popup-highlight-background: ${accent.base} !important;
--autocomplete-popup-highlight-color : ${foreground} !important;
/* Toolbar background */
--toolbar-bgcolor : transparent !important;
--toolbar-non-lwt-bgcolor : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--toolbar-non-lwt-bgimage : none !important;
--toolbar-color : ${foreground} !important;
/* Tabs */
--tab-selected-bgcolor : ${accent.base} !important;
--tabs-border-color : ${border} !important;
--tab-line-color : ${accent.base} !important;
--tab-loader-size : 16px !important;
/* Sidebar */
--lwt-sidebar-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--lwt-sidebar-text-color : ${foreground} !important;
--sidebar-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--sidebar-text-color : ${foreground} !important;
--sidebar-border-color : ${border} !important;
/* URL bar */
--urlbar-popup-url-color : ${foreground} !important;
--urlbar-popup-action-color : ${secondary.base} !important;
--toolbar-field-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--toolbar-field-focus-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--toolbar-field-color : ${accent.base} !important;
--toolbar-field-focus-color : ${foreground} !important;
--toolbar-field-focus-border-color : ${accent.base} !important;
/* Buttons */
--toolbarbutton-icon-fill : ${foreground} !important;
--toolbarbutton-hover-background : rgba(${f accent.base}, 0.2) !important;
--toolbarbutton-active-background : rgba(${f accent.base}, 0.4) !important;
/* Notification and panel */
--panel-disabled-color : rgba(${f foreground},0.3) !important;
--panel-separator-color : ${border} !important;
/* New tab page */
--newtab-background-color : transparent !important;
--newtab-background-color-secondary : ${secondary.dark} !important;
--newtab-text-primary-color : ${foreground} !important;
--newtab-text-secondary-color : ${secondary.base} !important;
--newtab-search-icon-color : ${accent.base} !important;
--newtab-background-card : ${accent.dark} !important;
--tabpanel-background-color : transparent !important;
background : linear-gradient(180deg,rgba(${f secondary.dark}, ${builtins.toString rice.transparency}) 0%, rgba(${f accent.dark}, ${builtins.toString rice.transparency}) 100%) !important;
}
.tabbrowser-tab[selected="true"] {
color: ${background} !important;
}
hbox#browser {
backround-color: transparent: !important;
}
#appcontent {
background: transparent !important;
}
#navigator-toolbox {
--tabs-border-color: transparent !important;
}
#toolbar-menubar, #TabsToolbar, #PersonalToolbar, #navigator-toolbox, #sidebar-box {
background-color: transparent !important;
-moz-appearance: none !important;
background-image: none !important;
}
window, #nav-bar{
background-color: transparent !important;
-moz-appearance: none !important;
background-image: none !important;
}
''

View File

@@ -0,0 +1,222 @@
rice: with rice.color; let
f = rice.lib.hex-to-rgb-comma-string;
blur = builtins.toString 20;
in /* css */ ''
/* Removes the white loading page */
/* url(about:newtab), url(about:home) */
@-moz-document url(about:blank) {
html:not(#ublock0-epicker), html:not(#ublock0-epicker) body, #newtab-customize-overlay {
background: transparent !important;
}
}
/* Sets up minimal incognito scrollbar */
@-moz-document url(about:privatebrowsing) {
:root{
scrollbar-width: thin !important;
scrollbar-color: rgb(161, 161, 161) transparent !important;
}
}
/* new-tab */
@-moz-document url-prefix(about:home), url-prefix(about:newtab) {
:root{
--newtab-background-color-secondary: rgba(${f background},0.5) !important;
}
body, html {
background: transparent !important;
}
.tile, .search-handoff-button {
border: ${builtins.toString rice.border-width}px solid ${border} !important;
}
}
@-moz-document domain(reddit.com) {
header {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(${blur}px);
}
body, html, .bg-neutral-background, .threadline, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar, comment-body-header, shreddit-comment-tree{
background-color: transparent !important;
}
}
@-moz-document domain(reddit.com) {
header {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
}
body, html, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar{
background-color: transparent !important;
}
}
@-moz-document domain(google.com) {
.sfbg {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(${blur}px);
}
body, html, div#search > * {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
.g, .appbar {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
div#rso {
* {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
}
div#cnt > div {
}
}
@media (prefers-color-scheme: dark) {
:root .theme-system {
--color-bg: transtparent !important;
--color-text: ${rice.color.foreground}
}
}
@-moz-document domain(developer.mozilla.org) {
html, body {
background-color: transparent !important;
}
.top-navigation, .article-actions-container {
background-color: rgba(0,0,0,1) !important;
backdrop-filter: blur(100px);
border-radius: ${builtins.toString rice.rounding}px;
}
}
@-moz-document domain(github.com) {
body, html, header, #repository-container-header, .bgColor-muted, section {
background-color: transparent !important;
}
}
@-moz-document domain(youtube.com) {
body, html, div#content, ytd-app, #frosted-glass.with-chipbar.ytd-app, ytd-shorts[is-dark] #cinematic-shorts-scrim.ytd-shorts {
background-color: transparent !important;
}
#background.ytd-masthead, div#background {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(100px);
}
* {
--yt-spec-base-background: transparent;
--yt-spec-raised-background: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--yt-spec-menu-background: rgba(${rice.lib.hex-to-rgb-comma-string accent.dark}, ${builtins.toString rice.transparency}) !important;
--yt-spec-inverted-background: rgba(${rice.lib.hex-to-rgb-comma-string secondary.dark}, ${builtins.toString rice.transparency}) !important;
}
}
@-moz-document domain(mynixos.com) {
body, html {
background-color: transparent !important;
}
header, footer {
background-color: rgba(0,0,0,1) !important;
backdrop-filter: blur(100px);
border-radius: ${builtins.toString rice.rounding}px;
}
}
@-moz-document domain(moodle.informatik.tu-darmstadt.de) {
body, html , .main-inner, .main-inner * {
background-color: transparent !important;
}
.bg-primary {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string accent.base},0.5) !important;
}
}
@-moz-document domain(wikipedia.org) {
body, html, div.mw-page-container, .vector-header, .mw-header {
background-color: transparent !important;
}
:root {
--color-base: ${foreground} !important;
--color-base--hover: ${accent.bright} !important;
--color-emphasized: ${accent.base} !important;
--color-progressive: ${accent.base} !important;
--color-progressive--hover: ${accent.brighter} !important;
--color-progressive--active: ${secondary.bright} !important;
--color-destructive: ${negative.base} !important;
--color-destructive--hover: ${negative.brighter} !important;
--color-destructive--active: ${negative.bright} !important;
--color-visited: ${secondary.base} !important;
--color-visited--hover: ${secondary.brighter} !important;
--color-visited--active: ${secondary.bright} !important;
--color-error: ${negative.base} !important;
--color-error--hover: ${negative.bright} !important;
--color-error--active: ${negative.bright} !important;
--color-warning: ${weird.base} !important;
--color-success: ${positive.base} !important;
--color-notice: ${special.base} !important;
--color-content-added: ${positive.base} !important;
--color-content-removed: ${negative.base} !important;
--color-base--subtle: ${accent.dark} !important;
--box-shadow-color-base: ${black.base} !important;
--background-color-base: transparent !important;
--background-color-neutral: transparent !important;
--background-color-neutral-subtle: transparent !important;
--background-color-interactive: ${accent.darker} !important;
--background-color-interactive--hover: ${accent.dark} !important;
--background-color-interactive--active: ${secondary.dark} !important;
--background-color-interactive-subtle: ${subtle.darker} !important;
--background-color-interactive-subtle--hover: ${subtle.dark} !important;
--background-color-interactive-subtle--active: ${subtle.base} !important;
--border-color-base: ${border} !important;
--border-color-emphasized: ${border2} !important;
--border-color-subtle: ${subtle.base} !important;
--border-color-muted: ${subtle.dark} !important;
}
}
@-moz-document url-prefix("https://nx2.site/") {
html {
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
background-repeat: repeat !important;
background-size: 2vmin 2vmin !important;
}
}
@-moz-document url-prefix("pw.nx2.site") {
html {
background: black;
}
}
@-moz-document url-prefix("pw.nx2.site") {
html {
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
background-repeat: repeat !important;
background-size: 2vmin 2vmin !important;
}
body, .tw-bg-background-alt3, main, .card-header, .card-body, .modal-body {
background-color: transparent !important;
}
.modal-open, .modal-header, form.modal-content, .modal-footer {
background-color: rgba(0,0,0,0.8) !important;
backdrop-filter: blur(5px);
}
.cdk-virtual-scroll-content-wrapper, .card, .tw-bg-background, .modal-content {
background-color: rgba(0,0,0,0.8) !important;
border-radius: 10px !important;
border: ${toString rice.border-width}px solid ${border} !important;
}
}
''
# @-moz-document domain(chatgpt.com) {
# body, html , .bg-token-sidebar-surface-primary {
# background-color: transparent !important;
# }
# .bg-token-main-surface-primary {
# background-color: rgba(0,0,0,1) !important;
# backdrop-filter: blur(100px) !important;
# border-radius: ${builtins.toString rice.rounding}px !important;
# }
# }

View File

@@ -2,52 +2,35 @@
{
# there also is a system module
home.packages = with pkgs; [
gnupg
gpg-tui
pinentry-all
];
services.gpg-agent = let
min2sec = min: (min * 60);
in {
programs.gpg = {
enable = true;
verbose = true;
sshKeys = [
"97081264F7FD72D890D496E839AA9A4C7892A7D8" # Keygrip (not Fingerprint!) of [A] Subkey
];
enableSshSupport = true;
enableFishIntegration = true;
defaultCacheTtlSsh = min2sec 60;
defaultCacheTtl = min2sec 30;
pinentry = {
package = pkgs.pinentry;
program = "pinentry";
package = pkgs.gnupg;
homedir = if hyper.host == "NxXPS" then "${hyper.home}/vault/gnupg" else "${hyper.home}/.gnupg";
settings = {
armor = true;
cert-digest-algo = "SHA512";
charset = "utf-8";
default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed";
keyid-format = "0xlong";
list-options = "show-uid-validity";
no-comments = true;
no-emit-version = true;
no-greeting = true;
no-symkey-cache = true;
personal-cipher-preferences = "AES256 AES192 AES";
personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed";
personal-digest-preferences = "SHA512 SHA384 SHA256";
pinentry-mode = "loopback";
require-cross-certification = true;
s2k-cipher-algo = "AES256";
s2k-digest-algo = "SHA512";
use-agent = true;
verify-options = "show-uid-validity";
with-fingerprint = true;
};
extraConfig = ''
allow-loopback-pinentry
'';
};
home.file.".gnupg/gpg.conf".text = ''
personal-cipher-preferences AES256 AES192 AES
personal-digest-preferences SHA512 SHA384 SHA256
personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed
default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed
cert-digest-algo SHA512
s2k-digest-algo SHA512
s2k-cipher-algo AES256
charset utf-8
no-comments
no-emit-version
no-greeting
keyid-format 0xlong
list-options show-uid-validity
verify-options show-uid-validity
with-fingerprint
require-cross-certification
no-symkey-cache
armor
use-agent
pinentry-mode loopback
'';
}

View File

@@ -1,6 +1,10 @@
{ pkgs, hyper, ... }: {
home.packages = with pkgs; [
chromium
gnome-clocks
gnome-calculator
gnome-characters
gnome-2048
element-desktop
qbittorrent
wl-clipboard

View File

@@ -23,9 +23,7 @@
};
};
};
secrets = {
pass = "/run/user/1000/secrets/copyparty/user-password/${hyper.user}";
};
secrets.pass = "/run/user/1000/secrets/copyparty/user-password/${hyper.user}";
};
};
};

View File

@@ -1,22 +1,18 @@
{ pkgs, ... }@all: with all;
{
imports = [
inputs.sops-nix.homeManagerModules.sops
];
{ pkgs, ... }@all: with all; {
imports = [ inputs.sops-nix.homeManagerModules.sops ];
sops = {
age.keyFile = "${hyper.home}.age_nx2_key_13.txt";
age.keyFile = if (hyper.host == "NxXPS") then
"${hyper.home}/vault/age/sops-xps-home.key"
else if (hyper.host == "NxACE") then
"${hyper.home}/.age_nx2_key_13.txt"
else if (hyper.host == "NxNORTH") then
"${hyper.home}/.age_nx2_key_13.txt"
else "unkown host in sops.nix";
defaultSopsFile = ../sops-secrets.yaml;
# %r is $XDG_RUNTIME_DIR
secrets = {
"example" = {
path = "%r/secrets/example";
};
# "sops-age-private-key" = { # Bootstrapping doens't work
# mode = "0400";
# path = "/home/${user}/.config/sops/age/keys.txt";
# };
};
};
}

View File

@@ -2,16 +2,18 @@
{
home = {
packages = with pkgs; [ sshfs ];
file.".ssh/config".text = ''
file."vault/ssh/config".text = /* ssh */ ''
HOST nxace
HostName ssh.${hyper.domain}
User ${hyper.user}
Port 50022
IdentityFile ~/vault/ssh/nxace-nx2-${hyper.host}
HOST nxacel
HostName 10.0.1.1
User ${hyper.user}
Port 50022
IdentityFile ~/vault/ssh/nxace-nx2-${hyper.host}
HOST nxrpil
HostName 10.0.1.31
@@ -22,6 +24,27 @@
HostName ssh.${hyper.domain}
User git
Port 50022
IdentityFile ~/vault/ssh/nxgit-nx2-${hyper.host}
'';
};
# services.gpg-agent = let
# min2sec = min: (min * 60);
# in {
# enable = true;
# verbose = true;
# sshKeys = [
# "97081264F7FD72D890D496E839AA9A4C7892A7D8" # Keygrip (not Fingerprint!) of [A] Subkey
# ];
# enableSshSupport = true;
# enableFishIntegration = true;
# defaultCacheTtlSsh = min2sec 60;
# defaultCacheTtl = min2sec 30;
# pinentry = {
# package = pkgs.pinentry;
# program = "pinentry";
# };
# extraConfig = ''
# allow-loopback-pinentry
# '';
# };
}

View File

@@ -1,10 +1,10 @@
{ pkgs, ... }@all: with all; {
xdg = {
enable = true;
configHome = "${hyper.home}.config";
cacheHome = "${hyper.home}.cache";
dataHome = "${hyper.home}.local/share";
stateHome = "${hyper.home}.local/state";
configHome = "${hyper.home}/.config";
cacheHome = "${hyper.home}/.cache";
dataHome = "${hyper.home}/.local/share";
stateHome = "${hyper.home}/.local/state";
mimeApps = {
enable = true;
defaultApplications = let

View File

@@ -12,7 +12,7 @@
./home-modules/discord.nix
./home-modules/email.nix
./home-modules/figlet.nix
./home-modules/firefox.nix
./home-modules/firefox/firefox.nix
./home-modules/fish.nix
./home-modules/games.nix
./home-modules/gestures.nix
@@ -75,8 +75,8 @@
./home-modules/calendar-campuszeit-fix.nix
] else []);
home.username = hyper.user;
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here
home.homeDirectory = "/home/${hyper.user}";
home.homeDirectory = hyper.home;
# home.homeDirectory = "/home/${hyper.user}";
home.stateVersion = hyper.pkgs-version;
programs.home-manager.enable = true;
}

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }@all: with all;
{
{ pkgs, ... }@all: with all; {
imports = [
./home-modules/bash.nix
./home-modules/color-pallete.nix
@@ -28,10 +27,11 @@
./home-modules/pkgs-list/shell.nix
];
home.username = hyper.user;
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here
home.homeDirectory = "/home/${hyper.user}";
home.stateVersion = hyper.pkgs-version;
home = {
username = hyper.user;
homeDirectory = hyper.home;
stateVersion = hyper.pkgs-version;
};
xdg = {
enable = true;
configHome = "${hyper.home}/.config";

View File

@@ -58,51 +58,60 @@ sops:
- recipient: age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZWl0RCszNGZqNDhzY25a
K2dPTGMvMzBSZytRMWR5d1pkTVpETmNZUTFzCmUrU25XdklVc3NicUV2OVh5bktR
YmZIeGZzYkVJMXRwSkt6bXlaRGpiaEkKLS0tIEZOMDUxaEo1aXRsV050a3I0eFNR
UlIxODJVK3lEaC9lWG9wNmhaUWhuZEEKnQT50Svfxgnbo6+gTSGyLW8vt+hzehu5
djy0wdML7XGORKURUJcAnGCdgsugu7exTBPMeKldlPXySPGUf6vPRA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUSW9RSEE1aGV1RVUzZXh0
M3FhS01jYU90S3pOUzhKMUFndXVzSk8wYkZrCnhRdkE4cnNxWHJWYjVzUGZVMmNQ
N1kxM240OC9oOEloUjhEUmx3c3RTQzQKLS0tIGIwNUhjOURaVXNIeHR5SjNEQmly
QUFHYUxTSWREcU9GT2JUSXNBNndkMkEKCIPVu8VbDjsdDaePoivW0jMvzD/GZpHk
9P1zJ0fN1NPCTi7spAyiyDWpJa6sfwAVj7Bs2zzFZoJZUxvE054YPw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBISzJjS2t4OFNtd2s3RjE3
V2hOUnByNVp3bjE4a0tPSkdCbXcwU093NGtFCmR2RXdzbTk1RXhQbmdVM0pkdGhE
T2VGN1VnYlRqWXRmWEJucTd5eU5HYWsKLS0tIFJRODNibTZNRjZtZjlpN0IzbVZQ
aHQwY0l3OTRVYlNSZnBQMGM4ekp0NGMKL0scPlNFywKmdPI3I8sgvmaVXOp6qm2m
O0N8BuQPEhiZXzNhPBPJnt6e/X+eW35lXdvbQ6AKv791WjZ4OlSZow==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjb3R0bFhqZzg3MC9rZFVi
elJCTHdjVlpTVUtaUzcwQklmbVd6TXJsSUNRClk0VExaYVFkaE5KYWtGYmU1bGk4
OHJYQUpKZ1gzUnQyaVpudVdiZ0RYb1UKLS0tIGNINzBHRHE3YkhMNVY4dVVlUVBs
TzhkWmxYU016TXN5Z0JDUVFZeG1QMWsKiukK/zVn6WEr1E5qKPULsyJQX8qDgQoY
JIeoG+OehtZ33VIXJfiNw60taM4XJb+bv/u9dzCY9ahW8M5VthpIlg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jj7kfjw3e7rf9kwg5f87zf4ns6yr5465wcasanr9gcgwrq7c6dmq6gprgk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwT2laNmNOYnhON2FEcGxl
OVFHa2owL1RCWWNWdDhzZWRlSkhPZmJpQjFvCjNPSGc4L1V5cENBMzY2VU56RnNW
QmNiNGMyZXY0WmN3R0c5YURQN1RGbDQKLS0tIE5lZXZiR2FZVms4YllUd1BsOURD
YTMxdkhkLzNGOWVYQkZJQnVCeW4zcXcKLaGzWYXBaR9mpLE47pWAkYUv/L5JuCR9
ZH2oaOLio6BHY+pf9WbbazbjIKXMZ8KozpLTzbn7ayKYYgGxEiwdIA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCOStIUnJVVU5YRFg0T0dF
ZjBMVThZSFlRa0lCZ2RFZ1R4Mjk0Zjd4b0RRCkwveXN2SmIwajd6R1NScXpQS0FH
S25rOFRKRzd2SFRlZHYxMnZPY3Q3QUEKLS0tIDZRVU54UlFiSWJlWW9LWVRqcGpD
RXIxSVA3T0RwZEJDTk1JWHZVT09neUUKX7QgyC+yJ+eDvKX2dW9XU2UA8WPC5Tsm
fzlmjPWR/E2Gdnoi0k2+HLWo46SUeMYdpZfx3gK+UmDFUags+SCHpg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByUmxCQ3ZOVGlWUWFkcGk1
ZzNaR0R0UG43dkh5Wjd5MmQ5SlkwU0g3c0ZJCnVYZExQdi94ME56eUVwUG5XbjJi
OC9OSmZYeHo4anJLb0NQSEs3cmMrS1UKLS0tIFJWU1VYL09SbDlHZlJtRlhmSjFJ
YkJWUEMySU50ZHVxUzVudjNnYURXak0KkMn/8sFrrviqb3s8DtS/BAbrdCwJ+jv/
A8rXQkKMjvTqG1f0fq5IlSmRAQy7XFBzkfbKdIUoefhey190WPEHaw==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzMUw1OXpCN0F6WkdBWFVM
M0VWdGlVcllTQlJKQUpKTG9wQ2NqVGEzVFJzCjE4UU92MlljSEIrZENFdVZpQUcx
SUh3SUh4bnZFVFpJOThQdG8wM24xZVkKLS0tIGJsUUl1QmJiRUFFRERrWWlMK1Fk
V2ZCS0tFUHNKckY1YXNRa3lwS3dVYW8KzrtAPlNuWQxSR2PEqFyqI5yv8jD2ZE3j
CT1SFmY9vf++WiOt1epby2MNpYdgyNrvlcaNUiE8Pt5ce0Y21pbq5A==
-----END AGE ENCRYPTED FILE-----
- recipient: age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3MHZlREs5OGxqTkZadmx1
R2hwMmc1YlZTd3owOHRIajJQMnVCbTFPOWtrCndMQ2Evc09VazNGVktrMXVHR2Vw
dFZWMm9rdi9iQWh3Y1lQT1g2SDJqNjQKLS0tIHYwVmVLeWQvc2ZWUzkxZzdKSnZt
TE44bHh2SFBMNldkdWZGcXc0c05LVWsK7LfqdRED2NkJxAxq+48MlLyIV30ihe0+
t269ote4qHDBx0RCZd5/hYUph/8Xf/fPa7Q6JYl6fkKiWUA3uWdbFQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-09-07T21:03:20Z"
mac: ENC[AES256_GCM,data:x8eIqQQGxtB5ukScesN1Lf4cFicTOi3VSOr/hFxKzccgwW7HLLEqwjai6e67KUFC2otaN9TR7ft0tUsTVwWRVRCHnpEoQ5KshLHy2zsk+CmPIpWTLCZJBpe154z3rRLlc10DCM7yhqArzepw0HgE4j1knADqLVwC7e0k+o/OmE8=,iv:uXeIv19J3LmYg7gtA2SGUSoMe9uccrvvztlDFSSs1V8=,tag:YTJpZdw1K+7//EARR+MviA==,type:str]
pgp:
- created_at: "2025-06-08T12:35:30Z"
- created_at: "2025-10-04T19:49:10Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DCvJ7ODFw5jQSAQdAw5PIhSmghpU+R4d8A9FY1z9NwN2C1CQvnP0u/D6k9nEw
4jYo133RBpSmZUEOPsrAIGDwcx5rAjIwXtYEUeH3ZR1/0imfyOh0iF0NhEqF5awG
0l4BWb/AQFnokqiIuRGQPMqpO6X3m00C2kB79nodaxorhc/WBs4JX3qz89zozsLq
ao8WHHadtQJwBveKurCNHLcr2+vLatPZ93Oo3s/ky+5eB+HrottOC818TIP51tXx
=8dKb
hF4DCvJ7ODFw5jQSAQdA2lEw0/JamW2LbvTLg0PhRxyNFbBunqhNa0/Bgv9riF8w
4MIL+i7o3KOAGF4h3NQpQNkG1rgMImzlXbSOzLJJV/uEMkew6VASKENAa+4FFo7t
0l4B3QpXdQzCWe07HXhqG+YetjR8tM9Rtk5XZuw4XTyca49BZezXPCbqgstoSW+U
TSjvpKr4FeE3tA3ePo4Jo7HYa1qotJe97pgDqziWIqEIJNwNhwROv9aLagWX9cVd
=dhDw
-----END PGP MESSAGE-----
fp: 22FB2CC03DC5292AB81CF67D0AF27B383170E634
unencrypted_suffix: _unencrypted

View File

@@ -1,54 +1,48 @@
{ pkgs, ... }@all: with all;
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
environment.systemPackages = with pkgs; [
ntfs3g
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
# boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems = if hyper.host != "NxACE" then {
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };
"/home/${hyper.user}/shared" = { device = "/dev/disk/by-label/shared"; fsType = "ntfs"; options = [ "uid=1000" "gid=100" ]; };
} else {
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };
"/vault" = { device = "/dev/disk/by-label/vault"; fsType = "ext4"; };
};
swapDevices = [
{ device = "/dev/disk/by-label/swap"; }
];
{ pkgs, ... }@all: with all; {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
environment = {
systemPackages = with pkgs; [ ntfs3g cryptsetup ];
variables = pkgs.lib.mkIf (hyper.host == "NxXPS") {
VDPAU_DRIVER = lib.mkIf config.hardware.graphics.enable (lib.mkDefault "va_gl");
};
};
boot = {
initrd = {
availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
luks.devices.cryptroot.device = pkgs.lib.mkIf (hyper.host == "NxXPS") "/dev/nvme0n1p7";
kernelModules = pkgs.lib.mkIf (hyper.host == "NxXPS") [ "i915" "cryptd" ];
};
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
extraModprobeConfig = pkgs.lib.mkIf (hyper.host == "NxXPS") ''
options iwlwifi 11n_disable=8
'';
};
fileSystems = let
ntfs = { fsType = "ntfs"; options = [ "uid=1000" "gid=100" ]; };
in {
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };
} // (if hyper.host == "NxXPS" then {
"${hyper.home}/shared" = { device = "/dev/disk/by-label/shared"; } // ntfs;
"${hyper.home}/vault" = { device = "/dev/disk/by-label/vault"; fsType = "ext4"; };
} else if hyper.host == "NxNORTH" then {
"${hyper.home}/shared" = { device = "/dev/disk/by-label/shared"; } // ntfs;
} else if hyper.host == "NxXPS" then {
"/vault" = { device = "/dev/disk/by-label/vault"; fsType = "ext4"; };
} else {});
hardware = {
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
graphics.extraPackages = with pkgs.lib; mkIf (hyper.host == "NxXPS") [
(if (versionOlder (versions.majorMinor version) "25.05") then pkgs.vaapiIntel else pkgs.intel-vaapi-driver)
pkgs.libvdpau-va-gl
pkgs.intel-media-driver
];
};
swapDevices = [ { device = "/dev/disk/by-label/swap"; } ];
networking.useDHCP = lib.mkDefault true;
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
# from nixos-hardware
services.thermald.enable = lib.mkDefault true;
boot.extraModprobeConfig = if hyper.host == "NxXPS" then ''
options iwlwifi 11n_disable=8
'' else "";
boot.initrd.kernelModules = if hyper.host == "NxXPS" then [ "i915" ] else [];
environment.variables = if hyper.host == "NxXPS" then {
VDPAU_DRIVER = lib.mkIf config.hardware.graphics.enable (lib.mkDefault "va_gl");
} else {};
hardware.graphics.extraPackages = if hyper.host == "NxXPS" then with pkgs; [
(if (lib.versionOlder (lib.versions.majorMinor lib.version) "25.05") then vaapiIntel else intel-vaapi-driver)
libvdpau-va-gl
intel-media-driver
] else [];
services.upower.enable = true;
services = {
thermald.enable = lib.mkDefault true;
upower.enable = true;
};
}

View File

@@ -1,6 +1,4 @@
{ pkgs, ... }@all: with all;
lib.mkIf hyper.nvidia.enable
{
{ pkgs, ... }@all: with all; lib.mkIf hyper.nvidia.enable {
environment.systemPackages = with pkgs; [
lshw
glxinfo