woah there, lots of changed, and i mean LOTS

This commit is contained in:
TwigTheCat 2024-09-25 17:19:59 -05:00
parent e177c34957
commit fce408a738
43 changed files with 1952 additions and 746 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "priv"]
path = priv
url = ./priv

7
LICENSE.org Normal file
View file

@ -0,0 +1,7 @@
Copyright 2024 twig
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

3
README.org Normal file
View file

@ -0,0 +1,3 @@
* Twig's NixOS configuration.
** TODO fragment the private/secret parts of this into a private flake

View file

@ -1,13 +1,20 @@
{ myVars, inputs, pkgs, ... }: {
{
config,
inputs,
pkgs,
lib,
...
}: {
# you would not catch me dead using grub in any of my installs
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
nixpkgs.config.allowUnfree = true;
nix = {
package = pkgs.lix;
settings = {
trusted-users = [ myVars.username ];
experimental-features = [ "nix-command" "flakes" ];
trusted-users = ["@wheel" "root"];
experimental-features = ["nix-command" "flakes"];
};
};
programs.nh = {
@ -15,7 +22,6 @@
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/${myVars.username}/nixos";
};
time.timeZone = "America/Chicago";
@ -25,22 +31,37 @@
font = "Lat2-Terminus16";
useXkbConfig = true;
};
networking.nameservers = [
"116.202.176.26#noads.libredns.gr"
"2a01:4f8:1c0c:8274::1#noads.libredns.gr"
"116.202.176.26#dot.libredns.gr"
"2a01:4f8:1c0c:8274::1#dot.libredns.gr"
"127.0.0.1"
"::1"
];
networking.enableIPv6 = true;
networking.useDHCP = false;
networking.wireless.iwd = {
enable = true;
settings = {
General = {
EnableNetworkConfiguration = true;
AddressRandomization = "once";
};
IPv6.Enabled = true;
Settings = {
AutoConnect = true;
};
};
};
systemd.network.enable = true;
services.resolved = {
enable = true;
dnsovertls = "opportunistic";
fallbackDns = [ "192.71.166.92" "2a03:f80:30:192:71:166:92:1" ];
dnssec = "false";
fallbackDns = [
"9.9.9.9"
"127.0.0.1"
];
extraConfig = "Domains=~.";
};
security.doas.enable = true;
security.sudo.enable = false;
security.sudo.enable = false;
users.mutableUsers = lib.mkDefault false;
}

View file

@ -0,0 +1,24 @@
{pkgs, ...}: {
home-manager.users.ly = import ./home;
nixpkgs.config.permittedInsecurePackages = [
"fluffychat-linux-1.20.0"
"olm-3.2.16"
];
programs.kdeconnect = {
enable = true;
package = pkgs.valent;
};
services.gvfs.enable = true;
environment.variables."PAGER" = "most";
programs.fish.enable = true;
users.users.ly = {
isNormalUser = true;
shell = pkgs.fish;
extraGroups = ["wheel" "networkmanager" "input" "uinput"];
};
}

View file

@ -0,0 +1,9 @@
{pkgs, ...}: {
imports = [
./schizofox.nix
];
home.packages = [
pkgs.librewolf
pkgs.ungoogled-chromium
];
}

View file

@ -0,0 +1,56 @@
{inputs, ...}: {
imports = [
inputs.schizofox.homeManagerModule
];
programs.schizofox = {
enable = true;
extensions = {
enableDefaultExtensions = true;
darkreader.enable = true;
extraExtensions = {
};
};
theme = {
colors = {
background-darker = "0F1010";
background = "2A2A2D";
foreground = "C9C7CD";
primary = "F8C8DC";
# border = "F8C8DC";
};
font = "Iosevka Comfy";
extraUserChrome = builtins.readFile ./userChrome.css;
extraUserContent = builtins.readFile ./userContent.css;
};
misc = {
contextMenu.enable = true;
};
settings = {
"browser.startup.homepage" = "about:newtab";
"browser.display.background_color " = "#0F1010";
"browser.tabs.tabmanager.enabled" = false;
};
search = {
defaultSearchEngine = "Searx";
removeEngines = ["Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia"];
searxUrl = "https://priv.au/";
searxQuery = "https://priv.au/search?q={searchTerms}&categories=general";
addEngines = [
{
Name = "Brave";
Alias = "!B";
Method = "GET";
URLTemplate = "https://search.brave.com/search?q={searchTerms}&source=web";
}
];
};
};
}

View file

@ -0,0 +1,220 @@
/* These Files {userChrome.css, userContent.css} are from: https://github.com/Bali10050/FirefoxCSS */
:root{--WindowDraggingFromNewtabButton: drag !important} /* For linux */
/* #reload-button, #stop-button{display:none !important} /* Removes the reload/stop button */
#back-button, #forward-button{display: none !important} /* Removes the forward/back button */
.tab-close-button{display: none !important} /* Removes the x-button from the tabs */
#tabs-newtab-button, #new-tab-button{opacity: 0 !important} /* Hide newtab button */
.tabbrowser-tab .tab-icon-image {display: none !important;} /* Hide tab Favicons */
/* #navigator-toolbox{background-image: url("./Background.png"), url("./NavbarBackground.png")} /\* Custom background -- Also check userContent.css *\/ */
:root{
--tab-border-radius: 3px !important; /* Tab border radius -- Changes the tabs rounding *//* Default: 3px */
--NavbarWidth: 43; /* Default values: 36 - 43 */
--TabsHeight: 36; /* Minimum: 30 *//* Default: 36 */
--TabsBorder: 8; /* Doesnt do anything on small layout *//* Default: 8 */
--NavbarHeightSmall: calc(var(--TabsHeight) + var(--TabsBorder)) /* Only on small layout *//* Default: calc(var(--TabsHeight) + var(--TabsBorder)) *//* Default as a number: 44 */}
@media screen and (min-width:1325px) /* Only the tabs space will grow from here */
{#nav-bar{margin-top: calc(var(--TabsHeight) * -1px - var(--TabsBorder) * 1px)!important; height: calc(var(--TabsHeight) * 1px + var(--TabsBorder) * 1px)} #TabsToolbar{margin-left: calc(1325px / 100 * var(--NavbarWidth)) !important} #nav-bar{margin-right: calc(100vw - calc(1325px / 100 * var(--NavbarWidth))) !important; vertical-align: center !important} #urlbar-container{min-width: 0px !important; flex: auto !important} toolbarspring{display: none !important}}
@media screen and (min-width:850px) and (max-width:1324px) /* Both the tabs space and the navbar will grow */
{#nav-bar{margin-top: calc(var(--TabsHeight) * -1px - var(--TabsBorder) * 1px) !important; height: calc(var(--TabsHeight) * 1px + var(--TabsBorder) * 1px)} #TabsToolbar{margin-left: calc(var(--NavbarWidth) * 1vw) !important} #nav-bar{margin-right: calc(100vw - calc(var(--NavbarWidth) * 1vw)) !important; vertical-align: center !important} #urlbar-container{min-width: 0px !important; flex: auto !important} toolbarspring{display: none !important} #TabsToolbar, #nav-bar{transition: margin-top .25s !important}}
@media screen and (max-width:849px) /* The window is not enough wide for a one line layout */
{#nav-bar{padding: 0 5px 0 5px!important; height: calc(var(--NavbarHeightSmall) * 1px) !important} toolbarspring{display: none !important;} #TabsToolbar, #nav-bar{transition: margin-top .25s !important}}
#nav-bar, #PersonalToolbar{background-color: #0000 !important;background-image: none !important; box-shadow: none !important} #nav-bar{margin-left: 3px; border-top: none !important} .tab-background, .tab-stack { min-height: calc(var(--TabsHeight) * 1px) !important}
/* Removes rounding from the top corners, */
#navigator-toolbox{appearance: none !important; border-radius: 0 !important}
#navigator-toolbox-background{background-color: Field !important; background-image: none !important; appearance: none !important; border-radius: 0 !important}
#navigator-toolbox-background:-moz-window-inactive{filter: contrast(90%);} /* Fades window while not in focus */
:root{--tabpanel-background-color: -moz-Dialog !important} /* Removes flash before loading pages */
/* Removes annoying buttons and spaces */
#firefox-view-button, #save-to-pocket-button, #tracking-protection-icon-container, .titlebar-spacer[type="pre-tabs"], .titlebar-spacer[type="post-tabs"]{display: none !important}
#tabbrowser-tabs{border-inline-start-width: 0!important}
/* Makes some buttons nicer */
#PanelUI-menu-button, #unified-extensions-button, #reload-button, #stop-button {padding: 2px !important}
#reload-button, #stop-button{margin: 1px !important;}
/* Newtab hack */
#tabs-newtab-button, #new-tab-button{transition: .3s !important;color: transparent !important; fill: FieldText !important; background: none !important; opacity: 20%; padding-right: 20px !important; padding-left: 4px !important; -moz-window-dragging: var(--WindowDraggingFromNewtabButton)}
#tabs-newtab-button:hover, #new-tab-button:hover{transition: .3s !important; color: transparent !important; fill: FieldText !important; opacity: 90%; padding-right: 20px !important; background: none !important; padding-left: 4px !important; -moz-window-dragging: var(--WindowDraggingFromNewtabButton)}
#tabs-newtab-button > .toolbarbutton-icon , #new-tab-button > .toolbarbutton-icon{ background: none !important;}
/* Removes urlbar border/background */
#urlbar-background{border: none !important; outline: none !important; transition: .15s !important;}
/* Cool animation on tab/bookmark icons */
/* .tabbrowser-tab:not([pinned]):not([selected]) .tab-icon-image ,.bookmark-item .toolbarbutton-icon{opacity: 0!important; transition: .15s !important; width: 0!important; padding-left: 16px!important} */
/* .tabbrowser-tab:not([pinned]):hover .tab-icon-image,.bookmark-item:hover .toolbarbutton-icon{opacity: 100!important; transition: .15s !important; display: inline-block!important; width: 16px!important; padding-left: 0!important} */
/* .tabbrowser-tab:not([hover]) .tab-icon-image,.bookmark-item:not([hover]) .toolbarbutton-icon{padding-left: 0!important} */
/* Removes space after pinned tabs */
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])>#tabbrowser-arrowscrollbox>.tabbrowser-tab[first-visible-unpinned-tab] {margin-inline-start: 0!important}
/* X-button on the tabs */
.tabbrowser-tab:not(:hover) .tab-close-button{opacity: 0% !important; transition: .3s !important; display: -moz-box !important;}
.tab-close-button[selected]:not(:hover){opacity: 45% !important; transition: .3s !important; display: -moz-box !important;}
.tabbrowser-tab:hover .tab-close-button{opacity: 50%; transition: .3s !important; background: none !important; cursor: pointer; display: -moz-box !important;}
.tab-close-button:hover{opacity: 100% !important; transition: .3s !important; background: none !important; cursor: pointer; display: -moz-box !important;}
.tab-close-button[selected]:hover{opacity: 100% !important; transition: .3s !important; background: none !important; cursor: pointer; display: -moz-box !important;}
/* Removes annoying border */
#navigator-toolbox{border:none !important;}
/* Titlebar button fix#6322 */
.titlebar-buttonbox-container{-moz-box-ordinal-group: auto;}
.titlebar-button > .toolbarbutton-icon:-moz-lwtheme{-moz-context-properties: fill, stroke !important;}
.titlebar-button > .toolbarbutton-icon {display: flex !important; height:unset !important; width: unset !important; appearance: -moz-window-decorations !important;}
.titlebar-buttonbox{appearance: none !important}
#titlebar .toolbarbutton-icon{-moz-context-properties: revert !important}
/* Titlebar buttons - Minimize button */
.titlebar-min {fill: var(--toolbarbutton-icon-fill) !important; -moz-context-properties: fill !important; list-style-image: url("data:image/svg+xml,%3Csvg width='40' height='30' version='1.1' viewBox='0 0 40 30' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EVetro%3C/title%3E%3Crect transform='matrix(3.7795 0 0 3.7795 -39.998 -533.51)' x='14.552' y='145.13' width='2.6458' height='.26458' ry='3.1658e-6' fill='context-fill' style='paint-order:stroke fill markers'/%3E%3C/svg%3E%0A")!important; border-radius: 0!important; margin: 0!important; padding: 0!important; border: 0!important; height: 100%!important; align-content: center!important; width: 56px!important; appearance: none!important}.titlebar-min:hover {background-color: color-mix(in srgb,currentColor 17%,transparent)!important}.titlebar-min:active {background-color: color-mix(in srgb,currentColor 30%,transparent)!important}
/* Titlebar buttons - Maximize button */
.titlebar-max {fill: var(--toolbarbutton-icon-fill) !important; -moz-context-properties: fill !important; list-style-image: url("data:image/svg+xml,%3Csvg width='40' height='30' version='1.1' viewBox='0 0 40 30' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EVetro%3C/title%3E%3Cpath transform='matrix(3.7795 0 0 3.7795 -101 -533.51)' d='m30.692 143.81v2.6458h2.6458v-2.6458zm0.26458 0.26459h2.1167v2.1167h-2.1167z' fill='context-fill' style='paint-order:stroke fill markers'/%3E%3C/svg%3E")!important; border-radius: 0!important; margin: 0!important; padding: 0!important; border: 0!important; height: 100%!important; align-content: center!important; width: 56px!important; appearance: none!important}.titlebar-max:hover {background-color: color-mix(in srgb,currentColor 17%,transparent)!important}.titlebar-max:active {background-color: color-mix(in srgb,currentColor 30%,transparent)!important}
/* Titlebar buttons - Restore button */
.titlebar-restore {fill: var(--toolbarbutton-icon-fill) !important; -moz-context-properties: fill !important; list-style-image: url("data:image/svg+xml,%3Csvg width='40' height='30' version='1.1' viewBox='0 0 40 30' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EVetro%3C/title%3E%3Cpath d='m17.001 10.016v2h-2v8.0001h8.0001v-2h2v-8.0001zm0.99998 1h6v6h-0.99998v-4.9999h-4.9999zm-2 2h6v6h-6z' fill='context-fill' stroke-width='3.7795' style='paint-order:stroke fill markers'/%3E%3C/svg%3E%0A")!important; border-radius: 0!important; margin: 0!important; padding: 0!important; border: 0!important; height: 100%!important; width: 56px!important; appearance: none!important}.titlebar-restore:hover {background-color: color-mix(in srgb,currentColor 17%,transparent)!important}.titlebar-restore:active {background-color: color-mix(in srgb,currentColor 30%,transparent)!important}
/* Titlebar buttons - Close button */
.titlebar-close:not(:hover, :active) {fill: var(--toolbarbutton-icon-fill) !important; -moz-context-properties: fill !important; list-style-image: url("data:image/svg+xml,%3Csvg width='40' height='30' version='1.1' viewBox='0 0 40 30' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EVetro%3C/title%3E%3Cpath transform='matrix(3.7796 0 0 3.7795 -165 -533.51)' d='m47.718 143.71-0.18707 0.18706 1.2294 1.2294-1.2294 1.2289 0.18707 0.18707 1.2294-1.2289 1.2289 1.2289 0.18707-0.18707-1.2289-1.2289 1.2289-1.2294-0.18707-0.18706-1.2289 1.2294z' fill='context-fill' style='paint-order:stroke fill markers'/%3E%3C/svg%3E%0A")!important; margin: 0 !important; padding: 0!important; border: 0!important; border-radius: 0!important; height: 100%!important; width: 56px!important; appearance: none!important}
.titlebar-close:hover {background-color: #f44!important; fill: var(--toolbarbutton-icon-fill) !important; -moz-context-properties: fill !important; list-style-image: url("data:image/svg+xml,%3Csvg width='40' height='30' version='1.1' viewBox='0 0 40 30' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EVetro%3C/title%3E%3Cpath transform='matrix(3.7796 0 0 3.7795 -165 -533.51)' d='m47.718 143.71-0.18707 0.18706 1.2294 1.2294-1.2294 1.2289 0.18707 0.18707 1.2294-1.2289 1.2289 1.2289 0.18707-0.18707-1.2289-1.2289 1.2289-1.2294-0.18707-0.18706-1.2289 1.2294z' fill='context-fill' style='paint-order:stroke fill markers;fill:%23ffffff' /%3E%3C/svg%3E%0A")!important; margin: 0 !important; padding: 0!important; border: 0!important; border-radius: 0!important; height: 100%!important; width: 56px!important; appearance: none!important}
.titlebar-close:active {background-color: #f33!important; fill: var(--toolbarbutton-icon-fill) !important; -moz-context-properties: fill !important; list-style-image: url("data:image/svg+xml,%3Csvg width='40' height='30' version='1.1' viewBox='0 0 40 30' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EVetro%3C/title%3E%3Cpath transform='matrix(3.7796 0 0 3.7795 -165 -533.51)' d='m47.718 143.71-0.18707 0.18706 1.2294 1.2294-1.2294 1.2289 0.18707 0.18707 1.2294-1.2289 1.2289 1.2289 0.18707-0.18707-1.2289-1.2289 1.2289-1.2294-0.18707-0.18706-1.2289 1.2294z' fill='context-fill' style='paint-order:stroke fill markers;fill:%23ffffff' /%3E%3C/svg%3E%0A")!important; margin: 0 !important; padding: 0!important; border: 0!important; border-radius: 0!important; height: 100%!important; width: 56px!important; appearance: none!important}
/* Alltabs button */
/* #TabsToolbar-customization-target {counter-reset: tabCount}.tabbrowser-tab {counter-increment: tabCount} */
/* #alltabs-button>.toolbarbutton-badge-stack>.toolbarbutton-icon {fill: var(--toolbarbutton-icon-fill) !important; -moz-context-properties: fill !important; list-style-image: url("data:image/svg+xml,%3Csvg width='40' height='30' version='1.1' viewBox='0 0 40 30' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EVetro%3C/title%3E%3Cpath transform='translate(49,-60)' d='m-29 78.888-7.0703-7.0703 0.70703-0.70703 6.3633 6.3633 6.3633-6.3633 0.70703 0.70703-6.3633 6.3633z' fill='context-fill' style='paint-order:stroke fill markers'/%3E%3C/svg%3E"); overflow: hidden!important; padding: 0!important; border: 0!important; width: 40px!important; height: calc(100% + 1px)!important; margin: 0 -2px 0 0!important; transform: translate(20%,15%); padding: 0 3px} */
/* #alltabs-button>.toolbarbutton-badge-stack {position: relative!important; border-radius: 0!important; padding: 0!important; border: 0!important; height: calc(100% + 1px)!important; width: 56px!important; margin: 0-2px 0 0!important} */
/* #alltabs-button>.toolbarbutton-badge-stack::before {content: counter(tabCount); color: var(--toolbarbutton-icon-fill) !important; position: absolute; top: 16.5px; left: 50%; transform: translate(-50%,-30%); padding: 0 3px} */
/* Removes the background from the urlbar while not in use */
#urlbar:not(:hover):not([breakout][breakout-extend])>#urlbar-background {box-shadow: none!important; background: #0000 !important}
/* Urlbar popup thing */
.urlbarView-row{display: none !important}
.urlbarView-row:nth-child(1), .urlbarView-row:nth-child(2){display: flex !important}
#urlbar-anon-search-settings{margin-inline-start: 0px !important}
/* Makes the space between the reload button and the urlbar less akwardly large */
#urlbar-container{margin-left: 1px !important}
/* Makes the sidebar a little nicer */
#sidebar-splitter{display: none}
#sidebar-header{padding-bottom: 0!important; border-bottom: 0!important}
/* The thing in the bottom with links */
#statuspanel-label{background-color: -moz-Dialog!important; border-color: transparent!important; border-radius: 5px !important; color: currentColor!important; margin: 0 0 2.5px 2px!important; padding: 5px!important; opacity: 100%;}
/* Removes the annoying rainbow thing from the hamburger */
#appMenu-fxa-separator{border-image:none !important;}
/* Navbar buttons order */
#nav-bar{direction: rtl;} #urlbar-container, #customizationui-widget-panel{direction: ltr !important;}
#forward-button{order: -1 !important;}
#back-button{padding-right: 2px !important;} #forward-button{padding-right: 8px !important;}
/* Rounded corner in pages *//* layout.css.has-selector.enabled */
/* #main-window:has(#navigator-toolbox[style=""]) #tabbrowser-tabpanels, :not([sizemode="fullscreen"]) #tabbrowser-tabpanels{margin: -10px 0 0 0!important; border-top-left-radius: 10px !important; border-top-right-radius: 10px !important;} */
/* #main-window:has(#navigator-toolbox[style=""]) .browserStack>browser, :not([sizemode="fullscreen"]) .browserStack>browser{border-top-left-radius: 10px !important; border-top-right-radius: 10px !important;} */
/* #navigator-toolbox{padding-bottom: 10px;} */
/* [inFullscreen] #tabbrowser-tabpanels, [inFullscreen] .browserStack>browser{border-radius: 0 !important; margin: 0 !important; transition: border-radius .7s !important} */
/* .browserStack{background-color: -moz-Dialog !important; border-radius: 10px !important; z-index: 2;} */
/* .browserContainer{background-color: transparent} */
/* .browserContainer:has(> .devtools-toolbox-bottom-iframe) .browserStack>browser{margin-bottom: -10px !important; border-bottom-right-radius: 10px !important; border-bottom-left-radius: 10px !important; transition: border-radius .2s !important} */
/* findbar{height: 50px; border: none !important; background-color: -moz-Dialog !important; z-index: 1;} */
/* .browserContainer:has(> .devtools-toolbox-bottom-iframe) findbar{border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;} */
/* .findbar-container, findbar .close-icon{margin-top: 10px !important} */
/* .browserContainer:has(> findbar) .browserStack>browser{margin-bottom: -10px !important; border-bottom-right-radius: 10px !important; border-bottom-left-radius: 10px !important; transition: border-radius .2s !important} */
/* .browserContainer:has(> .devtools-toolbox-bottom-iframe):has(> findbar) findbar{margin-bottom: -10px !important;} */
/* [inFullscreen] .browserContainer:has(> .devtools-toolbox-bottom-iframe) .browserStack>browser{margin-bottom: -10px !important; border-bottom-right-radius: 10px !important; border-bottom-left-radius: 10px !important; transition: border-radius .2s !important} */
/* [inFullscreen] .browserContainer:has(> findbar) .browserStack>browser{margin-bottom: -10px !important; border-bottom-right-radius: 10px !important; border-bottom-left-radius: 10px !important; transition: border-radius .2s !important} */
/* #main-window{background-color: -moz-Dialog} */
/* Devtools */
.devtools-horizontal-splitter{margin-top: 7px !important;margin-bottom:-12px !important;opacity: 0;}
.devtools-side-splitter{opacity: 0;}
.devtools-toolbox-side-iframe{margin-top: -10px; border-radius: 10px;}
#customization-panelWrapper {max-width: 30em!important} /* Fixes the customization page */
#customization-container > *{margin-top: -10px; background-color: -moz-Dialog !important} /* Customizes the customization page */
#urlbar:not([open]){color: currentColor!important} #urlbar[open]{color: var(--toolbar-field-focus-color)} /* Fixes the urlbar color on some themes */
/* Makes sidebars nicer */
#sidebar-box{margin-top: -10px !important; border-radius: 0 10px 0 0!important; z-index: 1}
#sidebar-box[positionend="true"]{border-radius: 10px 0 0 0!important}
#sidebar-box > *{background-image:none;}
/* Drop menus */
[position="bottomright topright"]{--panel-border-radius: 0 5px 5px 5px!important}
[position="bottomleft topleft"]{--panel-border-radius: 5px 0 5px 5px!important}
[part="content"]{border: none !important;}
.toolbarbutton-1[open]{--toolbarbutton-border-radius: 4px 4px 0 0!important;}
[class*="identity-color"] > * > * .tab-context-line{border-radius: 0 0 5px 5px !important} /* Identity-color */
/* Private tabs */
[privatebrowsingmode="temporary"] #PanelUI-menu-button > .toolbarbutton-badge-stack{
fill: currentColor !important; -moz-context-properties: fill !important; list-style-image: url("data:image/svg+xml,%3Csvg version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m4.4607598 4.7745347c-1.6558046-0.022972-3.308558 0.6945846-4.38033889 2.1016252-0.24667376 0.9746947 0.1329625 4.5740951 0.34896868 5.1407791 0.43334585 2.286732 2.30300841 4.007931 4.54440651 4.007931 1.1186988 0 2.1336268-0.446805 2.9349832-1.161493l0.4869937-0.419283a2.4174054 2.4174054 0 0 1 3.138115-0.02344l0.734397 0.606788v-0.0026c0.772021 0.621352 1.717989 1.002634 2.752686 1.002634 2.240064 0 4.109726-1.721199 4.544406-4.007931 0.214673-0.569353 0.608977-4.1526899 0.348969-5.1433851-1.905389-2.5014054-5.647401-2.8223737-7.976801-0.682312l-1.302122 1.1979524h-1.2760796l-1.302122-1.1979524c-1.0196962-0.936277-2.3086136-1.4014458-3.5964616-1.4193132zm1.0390935 3.6954225c0.9293602 0 1.7557821 0.389533 2.2891309 0.992217a0.86669252 0.86669252 0 0 1 0 1.1302418c-0.5333488 0.602685-1.3597707 0.989614-2.2891309 0.989614-0.9293601 0-1.7557821-0.386929-2.2891308-0.989614a0.86669252 0.86669252 0 0 1 0-1.1302418c0.5333487-0.602684 1.3597707-0.992217 2.2891308-0.992217zm9.0002687 0c0.929359 0 1.755781 0.389533 2.289131 0.992217a0.86669252 0.86669252 0 0 1 0 1.1302418c-0.53335 0.602685-1.359772 0.989614-2.289131 0.989614-0.92936 0-1.755782-0.386929-2.289131-0.989614a0.86669252 0.86669252 0 0 1 0-1.1302418c0.533349-0.602684 1.359771-0.992217 2.289131-0.992217z' fill='context-fill' stroke-width='1.33337'/%3E%3C/svg%3E%0A");}
#private-browsing-indicator-with-label{display: none}
/* Notification */
#tab-notification-deck .container.infobar{background: -moz-Dialog !important}
#tab-notification-deck .notificationbox-stack{background: transparent !important}
/* Customization navbar fix */
#wrapper-urlbar-container{width: 100px !important}
[title="Flexible Space"]{display: none !important}
/* Fullscreen thing */
#fullscreen-warning{border: none !important; background: -moz-Dialog !important}
/* Responsive Design Mode */
html.theme-dark body div#root div#app header#toolbar.user-agent{background: -moz-Dialog !important; border: none !important;}
html.theme-dark body div#root div#app header#toolbar.user-agent *{border-radius: 7px !important;}
html.theme-dark body div#root div#app header#toolbar.user-agent .devtools-separator{opacity:0 !important}
/* Changes for macos compatibility */
.titlebar-button { display: flex !important; }
.titlebar-buttonbox-container{ order: 1000 !important; }
.titlebar-buttonbox{ height: 100% !important; }
:root:not([sizemode="maximized"], [sizemode="fullscreen"]) .titlebar-restore, :root:is([sizemode="maximized"], [sizemode="fullscreen"]) .titlebar-max{display: none !important;}
.titlebar-buttonbox { margin-inline: 0 !important; }
.titlebar-buttonbox-container{margin-bottom: 0px;}
/* Menubar */
/* #toolbar-menubar[inactive] */
#main-window:has(#toolbar-menubar:not([inactive])) #toolbar-menubar{margin-bottom: -20px !important}
#main-window:has(#toolbar-menubar:not([inactive])) #toolbar-menubar .titlebar-buttonbox-container{margin-top: -1px !important; height: 44px !important}
#main-window:has(#toolbar-menubar:not([inactive])) #alltabs-button {margin-top: -24px !important; margin-bottom: 24.2px !important; }
@media screen and (min-width:566px) {#main-window:has(#toolbar-menubar[autohide="false"]) #alltabs-button {margin: -25px 168px 25.2px 0 !important;}}
#main-menubar{flex-wrap: wrap !important; max-width: calc(100vw - 226px);}
@media screen and (max-width:565px) { #main-window:has(#toolbar-menubar:not([inactive])) #TabsToolbar-customization-target { margin-top: 20px;}#main-window:has(#toolbar-menubar:not([inactive])) #alltabs-button { height: 44px !important; position: absolute; top: 24px; right: 168px; } #main-window:has(#toolbar-menubar:not([inactive])) #toolbar-menubar { height: fit-content !important;}}
#main-menubar { z-index: 1; }
/* Findbar hacks */
@media screen and (max-width:849px){
.findbar-container > hbox[anonid="findbar-textbox-wrapper"]{width: 100% !important}
.findbar-textbox {width: -moz-available !important}
.findbar-container {display: flex !important; flex-wrap: wrap !important; height: unset !important}
findbar{height: 90px !important}}
@media screen and (min-width:522px) and (max-width:541px){.findbar-container > checkbox{margin-bottom: -12px !important}}
@media screen and (max-width:521px){findbar{height: 122px !important}}
/* Findbar size at larger widths */
@media screen and (min-width:850px) and (max-width:1324px) {.findbar-textbox{width: calc(64vw - 290px)!important}}
@media screen and (min-width:1325px) {.findbar-textbox{width: 558px !important}

View file

@ -0,0 +1,308 @@
/* These Files {userChrome.css, userContent.css} are from: https://github.com/Bali10050/FirefoxCSS */
@-moz-document url("about:newtab"), url("about:home"){.outer-wrapper.ds-outer-wrapper-breakpoint-override.only-search.visible-logo{background-image: url("./Background.png"), url("./NewtabBackground.png"); background-position: 0 -44px, 0 0 !important;}}/* Custom background -- Also check userChrome.css */
@-moz-document url-prefix(about:){
/* Colors */
:root{--newtab-background-color: -moz-Dialog !important;
--in-content-background-color: -moz-Dialog !important;
--in-content-page-background: -moz-Dialog !important;
--in-content-table-background: -moz-Dialog !important;
--in-content-box-background-odd: -moz-Dialog !important;
--card-background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;
--in-content-box-background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;
--in-content-button-background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;
--in-content-box-background: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important;
--in-content-box-info-background: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important;
--message-bar-text-color: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important;
--newtab-background-color-secondary: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important;
--in-content-button-background-hover: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important;
--box-background: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important;
--button-background-color: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important;
--button-hover-background-color: color-mix(in srgb, currentColor 15%, -moz-Dialog) !important;}
body{background-color: -moz-Dialog !important} @-moz-document url(about:blank){body{background-color: #eee !important} @media (prefers-color-scheme: dark){body{background-color: #222 !important}}}
/* Removes the scrollbar on some places */
body,html{overflow-y: auto}
/* Newtab */
@-moz-document url("about:home"), url("about:newtab"){
/* Firefox home */
.logo-and-wordmark > .wordmark{height: 82px !important; margin-inline-start: 16px !important; width: 134px !important; background-size: 134px !important}
@media screen and (min-width:1325px){.ds-outer-wrapper-breakpoint-override main{width: 986px !important;}}
@media screen and (min-width:850px) and (max-width:1324px){.ds-outer-wrapper-breakpoint-override main{width: calc(78% + 1px) !important;}}
@media screen and (max-width:849px){.ds-outer-wrapper-breakpoint-override main{width: calc(55% + 168px) !important}}
.outer-wrapper.ds-outer-wrapper-breakpoint-override{padding: 30px 32px !important}
.search-wrapper .search-handoff-button .fake-caret {top: 13px !important; inset-inline-start: 48px !important}
.search-wrapper .logo-and-wordmark{opacity: 0.9 !important; order: 1 !important; margin-bottom: 0 !important; flex: 1 !important; flex-basis: 20% !important}
.search-wrapper .search-handoff-button .fake-caret{top: 13px !important; inset-inline-start: 48px !important}
.search-wrapper .logo-and-wordmark{opacity: 0.9 !important; order: 1 !important; margin-bottom: 0 !important; flex: 1 !important; flex-basis: 20% !important}
.outer-wrapper .search-wrapper{padding: 0px !important; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; align-content: space-around !important; gap: 20px 10px !important}
.search-wrapper .logo-and-wordmark .logo{background-size: 60px !important; height: 60px !important; width: 60px !important}
.search-wrapper .search-inner-wrapper{min-height: 42px !important; order: 2 !important; flex: 3 !important; flex-basis: 60% !important; top: 4px !important}
.search-wrapper .search-inner-wrapper{min-height: 42px !important; order: 2 !important; flex: 3 !important; flex-basis: 60% !important; top: 4px !important}
.outer-wrapper.ds-outer-wrapper-breakpoint-override.only-search.visible-logo{display: flex !important; padding-top: 0px !important;vertical-align: middle; }
.customize-menu{border-radius: 10px 0 0 10px !important}
#root > div{align-items: center; display: flex}}}
@-moz-document url("about:privatebrowsing"){
/* Firefox home private */
.logo-and-wordmark > .wordmark{height: 82px !important; margin-inline-start: 16px !important; width: 134px !important; background-size: 134px !important}
@media screen and (min-width:1325px){.showPrivate.showSearch.container{width: 986px !important;}}
@media screen and (min-width:850px) and (max-width:1324px){.showPrivate.showSearch.container{width: calc(78% + 1px) !important} body{padding: 48px calc(40px + 10%) !important;}}
@media screen and (max-width:849px){.showPrivate.showSearch.container{width: calc(55% + 170px) !important}body{padding: 48px calc(25% - 80px) !important;}}
.outer-wrapper.ds-outer-wrapper-breakpoint-override{padding: 30px 32px !important}
#search-handoff-button{border-radius: 10px !important; background-color: color-mix(in srgb, FieldText 13%, -moz-Dialog) !important; border: none !important; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;}
.fake-textbox{color: FieldText !important;}
.search-inner-wrapper{min-width: 0 !important; flex-grow: 2 !important; max-width: 720px; height: 42px !important;}
.showPrivate.showSearch.container{padding: 0px !important; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; align-content: space-around !important}
.logo-and-wordmark .logo{background-size: 60px !important; height: 60px !important; width: 60px !important}
.logo-and-wordmark{max-width: fit-content !important; max-height: 82px !important; opacity: 0.9 !important; margin-bottom: 0 !important; flex: 1 !important; flex-basis: 20% !important}
.showPrivate.showSearch.container{display: flex !important; padding-top: 0px !important;vertical-align: middle; flex-direction: row; align-items: center; max-width: unset !important; width: -moz-available !important; gap: 20px 0px !important}
.customize-menu{border-radius: 10px 0 0 10px !important}
#root > div{align-items: center; display: flex}
.info{display: none}
.wordmark{background-size: 134px !important; margin-inline-start: 0 !important; fill: FieldText !important;}
}
@-moz-document url-prefix(about:devtools), url-prefix(chrome:){
/* Devtools tabs */
.devtools-tab-line{border-radius: 0 0 5px 5px !important; height: 2px !important}
#toolbox-container{margin-top: 10px !important; background: -moz-Dialog !important} /* Makes rounded corners with userchrome look better */
.devtools-tabbar{background: -moz-Dialog !important; border: none !important}
#toolbox-container .customize-animate-enter-done, #toolbox-container .customize-menu, #toolbox-container .top-site-outer:hover, #toolbox-container button{background-color: -moz-Dialog!important}
.devtools-toolbar{height: 35px !important; border: none !important; background-color: -moz-Dialog !important} /* Has effect on all toolbars */
.toolbox-panel-iframe{border-radius: 8px 8px 0 0 !important}
#toolbox-toolbar-mount{ background: -moz-Dialog !important;}
.toolbox-panel.theme-toolbar{ background: -moz-Dialog !important;}
/* Debugger profile */
.chrome-debug-toolbar{ margin: -5px 5px 5px 5px !important; border: none !important; border-radius: 10px !important; background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; padding-right: 5px !important; }
.chrome-debug-toolbar__modes > label{ border: none !important; background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; }
.chrome-debug-toolbar__modes input, .chrome-debug-toolbar__modes .mode__sublabel{display: none !important}
.chrome-debug-toolbar__modes .selected{background: color-mix(in srgb, currentColor 3%, -moz-Dialog) !important}
.tooltip-panel{ border-radius: 10px !important; border: none; background: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important; }
.tooltip-arrow{display: none !important}
.command{ border-radius: 8px !important; margin: 0 10px; width: 90%;}}
@-moz-document url-prefix(chrome:){
/* Notification fix*/
#toolbox-notificationbox .notification{ background: color-mix(in srgb, #000 20%, -moz-Dialog) !important; border: none !important; padding: 3px !important; }
/* Checkbox background fix */
.accordion input:not([type="checkbox"]) {border: none !important}
#browser-style-checkbox:not(:checked):hover, #devtools-cache-checkbox:not(:checked):hover, #record-allocation-stacks-checkbox:not(:checked):hover, .accordion input[type="checkbox"]:not(:checked):hover, #devtools-display-tabbing-order-checkbox:not(:checked):hover{appearance: Dialog !important; border: 2px solid currentColor !important; border-radius: 2px !important;background-color: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important}
#browser-style-checkbox:not(:checked), #devtools-cache-checkbox:not(:checked), #record-allocation-stacks-checkbox:not(:checked), .accordion input[type="checkbox"]:not(:checked), #devtools-display-tabbing-order-checkbox:not(:checked){appearance: Dialog !important; border: 2px solid currentColor !important; border-radius: 2px !important}
:root{scrollbar-color: color-mix(in srgb, FieldText 35%, -moz-Dialog) transparent !important;} /* Removes scrollbar backround */
/* Inspector */
#markup-box{background-color: -moz-Dialog !important}
#markup-box iframe{border-radius: 15px !important;background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; margin-left: 10px !important; width: 98.65% !important}
.tag-state{border-radius: 6px !important; width: auto !important; left: -16px !important; right: 10px !important;}
.tag-hover{background: color-mix(in srgb, #000 20%, -moz-Dialog) !important; z-index: 0 !important; opacity: 30%}
html body.theme-body.devtools-monospace div#root-wrapper div#root{ padding: 6px 0 6px 10px !important; }
#inspector-breadcrumbs{top: auto; !important}
#inspector-breadcrumbs-toolbar{height: 24px !important;}
#inspector-eyedropper-toggle{margin-right: 2px !important;}
.theme-body{background: transparent !important}
#ruleview-toolbar{ flex-wrap: nowrap !important; }
#sidebar-panel-changes{ border-radius: 10px !important; background: color-mix(in srgb, #000 20%, -moz-Dialog) !important; }
.computed-property-view{ background: transparent !important;}
.computed-property-view.row-striped{background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
#computed-property-container{background-color: color-mix(in srgb, #000 20%, -moz-Dialog) !important}
#computed-container-focusable, #sidebar-panel-computedview{background: -moz-Dialog !important}
#computed-container{border-radius: 10px !important;}
/* Console */
.webconsole-filteringbar-wrapper.wide{margin-bottom: 8px !important;}
.tabs-menu-item{background-color: transparent !important}
.message{margin: 0 1px 2px 1px !important; border-radius: 10px !important; padding: 5px !important; border-bottom: -6px !important; width: 98% !important; left: 50%; transform: translate(-50%, 0);}
.jsterm-input-container{border-radius: 8px 8px 0 0 !important; border: none !important}
.webconsole-app{background-color: -moz-Dialog !important}
#mount .sidebar-item{border-radius: 10px !important; padding: 10px 0 10px 5px !important; margin-bottom: 4px !important;}
#mount .js-sidebar{padding: 0 5px 0px 7px !important; background: -moz-Dialog !important; border: none !important}
#mount > main{background: -moz-Dialog;}
#mount .app-page{border-radius: 10px !important; background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
html#devtools-webconsole body.theme-sidebar main#app-wrapper.theme-body div.webconsole-app.jsterm-editor.eager-evaluation div.flexible-output-input div.jsterm-input-container.devtools-input{ margin-top: 8px !important; }
/* Input/searchboxes */
.devtools-filterinput{ background-color: -moz-Dialog !important; vertical-align: center !important; border-radius: 8px !important; }
.sources-panel .devtools-filterinput{background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
#font-preview-input-container { border: none !important; background: -moz-Dialog !important; border-radius: 8px !important; height: auto !important; }
#font-preview-input-container .devtools-searchinput{ background: none !important; }
.font-value-input{ border-radius: 10px !important; border: none !important; padding: 3px 10px 3px 3px !important; }
#font-preview-input-container .devtools-searchinput{ height: 31px !important; border-radius: 10px !important; margin: -8px 0 -8px 0; }
.input-expression, .xhr-input-url, .event-search-input{background: color-mix(in srgb, currentColor 3%, -moz-Dialog) !important; appearance: none !important; margin: 5px 2px 5px 8px !important; border-radius: 8px !important; width: 97% !important;}
.exclude-patterns-field.small input{ border-radius: 8px !important; border: none !important; padding: 18px 5px 18px 10px !important; background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; appearance: inherit !important; }
.devtools-searchbox{height: auto !important; border-radius: 8px !important;}
/* Font editor */
#font-editor{ background: -moz-Dialog !important; }
#font-container > .accordion{border: none !important}
.font-value-select{ background: auto !important; padding: 4px !important; border-radius: 3px !important; border: none !important; text-align: center; background-image: none !important }
#font-container{ background: -moz-Dialog !important; }
/* Debugger */
.source-outline-panel .tree-node{border-radius: 8px !important; padding: 5px !important; width: 96% !important; margin: 0 0 2px 2px}
.perf-onboarding{display: none !important}
.source-outline-tabs .tab::before, .source-tab::before{border-radius: 0 0 2px 2px !important; background-image: none !important}
.source-outline-tabs .tab:not(.active){background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; width: 90%; color: inherit !important}
.source-tab:hover{background: transparent !important;}
.source-tab:not(.active) > .img{display: none !important}
.exclude-patterns-field.small{background: -moz-Dialog !important; border: none !important}
.exclude-patterns-field.small > *{background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
.project-text-search{margin-top: 9px !important;}
.project-text-search .search-outline{ width: 94%; margin-left: 8px; border: none !important; }
.project-text-search .search-outline .search-field.small{ background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; padding: 5px; border-radius: 8px; border: none !important; margin-bottom: 5px !important; margin-top: 1px !important; }
.exclude-patterns-field.small > label{display: contents;}
.search-modifiers{background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
.source-outline-tabs{width: 98% !important}
.source-outline-tabs > .tab{background-color: color-mix(in srgb, currentColor 3%, -moz-Dialog) !important;}
.source-outline-tabs > .tab:first-child{border-radius: 8px 0 0 8px !important}
.source-outline-tabs > .tab:last-child{border-radius: 0 8px 8px 0 !important}
.tab.sources-tab.active{background-color: color-mix(in srgb, currentColor 3%, -moz-Dialog) !important;}
.source-footer, .source-header{background: -moz-Dialog !important; border: none !important}
.editor-wrapper > *{background: -moz-Dialog !important; border: none !important}
.editor-wrapper > * > *, .welcomebox{border-radius: 8px !important;background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; z-index: 2 !important;}
.outline-footer{background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; border-radius: 8px !important; border: none !important;}
.outline-footer > button {width: -moz-available !important; border-radius: 8px !important; }
.outline-footer > button:hover {width: -moz-available !important; border-radius: 8px !important; background: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important;}
.secondary-panes-wrapper > *{background: -moz-Dialog !important;}
.command-bar{border: none !important;}
.source-outline-panel{margin-top: -8px !important;padding: 8px !important;}
/* Memory */
.snapshot-list-item{ border-radius: 10px !important; border: none !important; margin-bottom: 5px !important; }
.snapshot-list-item:not(.selected){background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
#shortest-paths > div{border-radius: 10px !important; background: -moz-Dialog !important;}
#shortest-paths{background: -moz-Dialog !important;}
#heap-view .h-split-box{border-radius: 10px !important;}
.heap-view-panel > .tree{ border-radius: 10px 10px 0 0!important; }
.heap-view-panel > .header{background: -moz-Dialog !important; border: none !important}
.heap-view-panel{background: -moz-Dialog !important}
#memory-tool-container > ul{ padding: 5px !important; padding-top: 5px; background: -moz-Dialog !important; border: none !important; padding-top: 2px !important; }
.tree-map-container{ border-radius: 10px !important; }
.toolbar-group, #record-allocation-stacks-label{border-inline-end: none !important;}
#record-allocation-stacks-label{margin-inline-end: 10px !important;}
/* Stylesheet editor/Console */
.devtools-invisible-splitter, .splitview-nav{background-color: -moz-Dialog !important}
.splitview-controller{padding: 0 15px 0 5px !important; background-color: -moz-Dialog !important;}
.theme-body.devtools-monospace .CodeMirror-gutters{background: color-mix(in srgb, #000 20%, -moz-Dialog) !important}
.theme-body.devtools-monospace .CodeMirror-scroll{background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
/* Tabs */
.outline-filter{border: none !important;}
.tabs, .sources-panel{background-color: -moz-Dialog !important}
.tabs-navigation, .source-outline-tabs{background-color: color-mix(in srgb, currentColor 3%, -moz-Dialog) !important; border: none !important; padding: 0 10px 0 5px; border-radius: 10px !important; margin: 3px !important}
.all-tabs-menu{right: 10px !important; background-color: transparent !important; border: none !important;}
.panels{background-color: -moz-Dialog !important}
pre{margin-right: 20px;}
/* Network */
.request-list-container{background: -moz-Dialog !important;}
.request-list-empty-notice, .requests-list-scroll{border-radius: 10px !important; background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important}
/* Probably the console */
#mount .sidebar-item{border-radius: 10px !important; padding: 10px 0 10px 5px !important; margin-bottom: 4px !important;}
#mount .js-sidebar{padding: 0 5px 0px 7px !important; background: -moz-Dialog !important; border: none !important}
#mount > main{background: -moz-Dialog;}
#mount .app-page{border-radius: 10px !important; background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
/* Storage */
#storage-table{background: -moz-Dialog !important;}
#storage-tree{background: -moz-Dialog !important;border-radius: 10px !important; padding-top: 3px !important}
/* Fixes for sidebar version */
.horz{background-color: -moz-Dialog !important}
.horz .splitter{flex: 0 0 10px !important; margin: auto 2px auto 2px !important; height: 80%; justify-content: center; opacity: 100%; border-radius: 4px !important;}
.horz #ruleview-container{ margin-top: 15px;}
/* Fix for light mode */
.theme-light .tree-widget-item.theme-selected{color: #000 !important;}
/* ? */
.devtools-toolbar-select{ background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; border-radius: 4px !important; border: none !important; padding: 4px !important; appearance: dialog !important; }
#toolbox-deck{border-radius: 10px !important;}
.theme-dark{background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important}
body{background-color: color-mix(in srgb, currentColor 7%, -moz-Dialog) !important}
#ruleview-container, .layout-container, .devtools-sidebar-tabs .panels{border-radius: 10px !important; background-color: -moz-Dialog; padding: 0 5px 0 5px;}
.splitter{flex: 0 0 10px !important; margin: 30px -9px 30px -6px !important; justify-content: center; opacity: 0;}
.devtools-inspector-tab-panel{background-color: -moz-Dialog !important}
.compatibility-app__container{background-color: -moz-Dialog !important}
.compatibility-footer{border: none !important;}
.devtools-separator{display: none !important;}
/* Acessability */
window box.devtools-responsive-container.theme-body vbox#storage-tree ul.tree-widget-container li ul.tree-widget-children li div.tree-widget-item{background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; border-radius: 8px !important; margin-bottom: 2px !important; padding: 5px !important; width: 85% !important; margin-left: 12px !important; margin-right: 5px !important}
.tree-widget-item:not(window box.devtools-responsive-container.theme-body vbox#storage-tree ul.tree-widget-container li ul.tree-widget-children li div.tree-widget-item){ border-radius: 8px !important; margin-bottom: 2px !important; padding: 5px !important; width: 90% !important; margin-left: 2px !important; margin-right: 5px !important}
.devtools-side-splitter{opacity: 0% !important}
.devtools-responsive-container.theme-body{background: -moz-Dialog !important;}
.devtools-toolbar{position: sticky; top: 0px}
/* Stylesheet editor */
#style-editor-chrome .devtools-invisible-splitter{border-radius: 10px 0 0 10px !important; background: color-mix(in srgb, #000 20%, -moz-Dialog) !important; !important; width: 10px; margin-left: -10px !important; opacity: 100% !important; margin-bottom: 35px !important}
.editor-pane .CodeMirror-gutters{background: color-mix(in srgb, #000 20%, -moz-Dialog) !important}
.editor-pane .CodeMirror-scroll{background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
.at-rule-label{ border: none !important; padding: 5px !important; background: aliceblue; border-radius: 8px !important; margin: 0 0 3px 5px !important; width: 92% !important; background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; }
window#style-editor-chrome-window box#style-editor-chrome.devtools-responsive-container.theme-body box.splitview-side-details.devtools-main-content box.splitview-details.splitview-active hbox.stylesheet-details-container vbox.stylesheet-sidebar.theme-sidebar toolbar.devtools-toolbar, .stylesheet-at-rules-container{background: color-mix(in srgb, #000 20%, -moz-Dialog) !important}
.splitview-nav{border-radius: 10px !important;}
.splitview-nav > *{border-radius: 8px !important; border: none !important; margin-bottom: 5px !important; padding: 3px !important; background-image: none !important}
.splitview-nav > *:not(:hover, .splitview-active){background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important}
#splitview-resizer-target{background-color: -moz-Dialog !important}
.splitview-main > toolbar, .loading .splitview-nav-container{border-inline-end: none !important} /* Removes line while loading */
.splitview-side-details.devtools-main-content{background: color-mix(in srgb, #000 20%, -moz-Dialog) !important;}
window#style-editor-chrome-window box#style-editor-chrome.devtools-responsive-container.theme-body box.splitview-side-details.devtools-main-content box.splitview-details.splitview-active hbox.stylesheet-details-container box.stylesheet-editor-input.textbox iframe{ border-radius: 0 10px 10px 0 !important; }
.stylesheet-editor-input.textbox{margin-bottom: -10px !important;z-index: 1;}
.devtools-toolbar.stylesheet-editor-status{height: 45px !important; padding-top: 10px !important; margin-bottom: -45px;}
.stylesheet-at-rules-container{margin-bottom: -10px !important;z-index: 2;border-radius: 0 0 10px 10px;}
.stylesheet-details-container{background-color: -moz-Dialog !important;}
.stylesheet-sidebar.theme-sidebar .devtools-toolbar{border-radius: 10px 10px 0 0 !important;}
.stylesheet-sidebar.theme-sidebar{background-color: -moz-Dialog !important; margin: 0 5px; margin-bottom: -15px !important;}
.splitview-side-details.devtools-main-content{margin-bottom: -10px !important;z-index: 1;border-radius: 0 10px 10px 0 !important;margin-right: 5px;}
.stylesheet-editor-input.textbox > iframe{margin-bottom: 10px !important;}
.stylesheet-at-rules-container{padding-left: 10px;}
#style-editor-chrome box:has(> .splitview-side-details.devtools-main-content){margin-bottom: 45px !important}
/* Accordions */
body main#mount.theme-body div.debugger div.A11y-mouse div.split-box.vert div.controlled div.secondary-panes-wrapper div.secondary-panes div ul.accordion *:not([type="checkbox"]) {border: none !important}
body.theme-body.devtools-monospace div#content div.mainFrame span div.split-box.vert div.uncontrolled{border-radius: 10px !important}
body.theme-body.devtools-monospace div#content div.mainFrame span div.split-box.vert{background: -moz-Dialog !important}
body.theme-body.devtools-monospace div#content div.mainFrame span div.split-box.vert div.controlled div.right-sidebar{margin-left: 10px !important;}
body.theme-body.devtools-monospace div#content div.mainFrame span div.split-box.vert div.controlled div.right-sidebar ul.accordion{width: 95% !important; padding-right: 10px !important;}
#sidebar-panel-ruleview, .accordion{background-color: -moz-Dialog !important}
.accordion li h2:not(.accordion-header){background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; margin: 5px 2px 5px 8px !important; border-radius: 8px !important; width: 97% !important}
.ruleview-rule, .accordion-content{border-radius: 8px !important; padding: 5px !important; background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; border-bottom: none !important; margin-bottom: 4px !important;}
.ruleview-header, .accordion-header{background-color: -moz-Dialog !important; border-bottom: none !important}
/* Cahnges tab */
#sidebar-panel-changes .source .href{background: -moz-Dialog !important; border: none !important}
#sidebar-panel-changes .source{background: -moz-Dialog !important}
#sidebar-panel-changes .changes__toolbar{ padding: 6px !important; border: none !important; background: -moz-Dialog !important; padding: 0 !important; }
#sidebar-panel-changes .changes__rule {background: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; border-radius: 8px !important; margin-bottom: 2px !important}
#sidebar-panel-changes{background: -moz-Dialog !important; border: none !important}
.changes__copy-all-changes-button{width: -moz-available; padding: 6px !important; background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important; border-radius: 10px !important; margin: 6px !important; background-position: 13px 9.5px !important; height: 35px !important;}
.changes__copy-all-changes-button:hover{background-color: color-mix(in srgb, currentColor 13%, -moz-Dialog) !important}
/* Accessability */
.accessibility-check{background-color: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;}
.right-sidebar{background: -moz-Dialog !important;}
.checks .list > *{padding: 0 !important}}

View file

@ -0,0 +1,136 @@
{
inputs,
pkgs,
...
}: let
# declare an emacs package derived from emacs, but it also compiles vterm
myEmacs = (pkgs.emacsPackagesFor inputs.emacs-overlay.packages.${pkgs.system}.emacs-pgtk).emacsWithPackages (epkgs: (with epkgs.melpaPackages; [
vterm
]));
in {
imports = [
./hypr
./music
./shell
./desktop
./browser
inputs.ags.homeManagerModules.default
];
home.packages = with pkgs; [
lutris
texlive.combined.scheme-medium
youtube-music
fluffychat
signal-desktop
vesktop
nwg-look
nicotine-plus
krita
gimp
papirus-icon-theme
transmission_4-gtk
easyeffects
pavucontrol
htop
gnupg
pinentry
clapper
wineWowPackages.waylandFull
winetricks
neovim
mesa
protontricks
steam
appimage-run
most
acpi
pulseaudio
hunspell
hunspellDicts.en_US
brightnessctl
ripgrep
fzf
bat
fd
eza
microfetch
grim
slurp
libnotify
jq
wl-clipboard
dotool
pamixer
playerctl
nil
wf-recorder
zip
unzip
bc
];
services.emacs = {
enable = true;
client.enable = true;
package = myEmacs;
};
programs.helix = {
enable = true;
settings = {
theme = "fairy_forest";
editor = {
soft-wrap.enable = true;
line-number = "relative";
auto-completion = true;
auto-format = true;
color-modes = true;
idle-timeout = 50;
lsp.display-inlay-hints = false;
lsp.display-messages = true;
cursor-shape = {
select = "underline";
insert = "bar";
normal = "block";
};
file-picker.hidden = false;
};
keys.normal = {
y = [":clipboard-yank" "yank"];
C-right = "move_next_long_word_start";
C-left = "move_prev_long_word_start";
S-right = "move_next_word_start";
S-left = "move_prev_word_start";
C-up = "goto_prev_paragraph";
C-down = "goto_next_paragraph";
S-up = "move_line_up";
S-down = "move_line_down";
};
keys.select = {
y = [":clipboard-yank" "yank"];
C-right = "move_next_long_word_start";
C-left = "move_prev_long_word_start";
S-right = "move_next_word_start";
S-left = "move_prev_word_start";
C-up = "goto_prev_paragraph";
C-down = "goto_next_paragraph";
};
keys.insert = {
C-right = "move_next_long_word_start";
C-left = "move_prev_long_word_start";
S-right = "move_next_word_start";
S-left = "move_prev_word_start";
C-up = "goto_prev_paragraph";
C-down = "goto_next_paragraph";
C-backspace = "delete_word_backward";
};
};
languages = {};
};
/*
The home.stateVersion option does not have a default and must be set
*/
home.stateVersion = "24.05";
}

View file

@ -0,0 +1,9 @@
{pkgs, ...}: {
programs.ags = {
enable = true;
systemd.enable = true;
};
home.file.".local/share/ags/nix.json".text = builtins.toJSON {
bun = "${pkgs.bun}/bin/bun";
};
}

View file

@ -1,8 +1,9 @@
{ ... }: {
{...}: {
imports = [
./mako.nix
./theming.nix
./foot.nix
./fuzzel.nix
./ags.nix
];
}

View file

@ -0,0 +1,41 @@
{...}: {
programs.foot = {
enable = true;
# server.enable = true;
settings = {
main = {
# term = "xterm-256color";
font = "IosevkaComfy Nerd Font:size=14:style=medium";
font-italic = "IosevkaComfy Nerd Font:size=14:style=Italic";
font-bold = "IosevkaComfy Nerd Font:size=14:style=bold";
font-bold-italic = "IosevkaComfy Nerd Font:size=14:style=Bold Italic";
pad = "10x10";
};
colors = {
alpha = "0.9";
background = "0F1010";
foreground = "C9C7CD";
## Normal/regular colors (color palette 0-7)
regular0 = "0F1010"; # black
regular1 = "F8C8DC"; # red
regular2 = "BFD7B5"; # green
regular3 = "F5BBA1"; # yellow
regular4 = "8EB6F5"; # blue
regular5 = "F49AC2"; # magenta
regular6 = "C1E7E3"; # cyan
regular7 = "E1DBEB"; # white
## Bright colors (color palette 8-15)
bright0 = "2A2A2D"; # bright black
bright1 = "F8C8DC"; # bright red
bright2 = "BFD7B5"; # bright green
bright3 = "F5BBA1"; # bright yellow
bright4 = "8EB6F5"; # bright blue
bright5 = "F49AC2"; # bright magenta
bright6 = "C1E7E3"; # bright cyan
bright7 = "E1DBEB"; # bright white
};
scrollback.multiplier = 5.0;
};
};
}

View file

@ -1,10 +1,10 @@
{ ... }: {
{...}: {
programs.fuzzel = {
enable = true;
settings = {
main = {
font = "Iosevka Nerd Font:size=11:style=medium";
prompt = "meow ";
prompt = "'meow '";
icon-theme = "Papirus-Dark";
terminal = "foo";
lines = 20;
@ -20,6 +20,8 @@
colors = {
background = "0F1010ff";
text = "C9C7CDff";
prompt = "C9C7CDff";
input = "C9C7CDff";
match = "F8C8DCff";
selection = "3E3E43ff";
selection-text = "F39AC2ff";

View file

@ -0,0 +1,16 @@
{...}: {
services.mako = {
enable = true;
defaultTimeout = 3000;
anchor = "top-right";
font = "Iosevka Comfy 12";
backgroundColor = "#0F1010";
textColor = "#C9C7CD";
borderColor = "#F8C8DC";
progressColor = "over #8EB6F5";
extraConfig = ''
[urgency=high]
border-color=#F5BBA1
'';
};
}

View file

@ -0,0 +1,66 @@
{pkgs, ...}: let
fairyForestCss = ''
@define-color accent_color #F8C8DC;
@define-color accent_bg_color #F8C8DC;
@define-color accent_fg_color #0F1010;
@define-color destructive_color #FCA5A5;
@define-color destructive_bg_color #F49AC2;
@define-color destructive_fg_color #0F1010;
@define-color success_color #BFD7B5;
@define-color success_bg_color #C1E7E3;
@define-color success_fg_color #0F1010;
@define-color warning_color #F5BBA1;
@define-color warning_bg_color #F5BBB1;
@define-color warning_fg_color #0F1010;
@define-color error_color #FCA5A5;
@define-color error_bg_color #F49AC2;
@define-color error_fg_color #0F1010;
@define-color window_bg_color #0F1010;
@define-color window_fg_color #C9C7CD;
@define-color view_bg_color #0F1010;
@define-color view_fg_color #C9C7CD;
@define-color headerbar_bg_color #0F1010;
@define-color headerbar_fg_color #C9C7CD;
@define-color headerbar_border_color #0F1010;
@define-color headerbar_backdrop_color #0F1010;
@define-color headerbar_shade_color rgba(0, 0, 0, 0.36);
@define-color card_bg_color #0F1010;
@define-color card_fg_color #C9C7CD;
@define-color card_shade_color rgba(0,0,0,0.36);
@define-color dialog_bg_color #0F1010;
@define-color dialog_fg_color #C9C7CD;
@define-color popover_bg_color #0F1010;
@define-color popover_fg_color #C9C7CD;
@define-color shade_color rgba(0,0,0,0.36);
@define-color scrollbar_outline_color rgba(0,0,0,0.5);
'';
in {
home.packages = [
pkgs.gradience
];
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.phinger-cursors;
name = "phinger-cursors-dark";
size = 24;
};
gtk = {
enable = true;
font = {
size = 12;
name = "Iosevka Comfy";
package = pkgs.iosevka-comfy.comfy;
};
theme = {
name = "adw-gtk3-dark";
package = pkgs.adw-gtk3;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk4.extraCss = fairyForestCss;
gtk3.extraCss = fairyForestCss;
};
}

View file

@ -0,0 +1,11 @@
{pkgs, ...}: {
imports = [
./hyprland.nix
./hypridle.nix
./hyprpaper.nix
./hyprlock.nix
];
home.packages = with pkgs; [
hyprpicker
];
}

View file

@ -1,10 +1,10 @@
{ ... }: {
{...}: {
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
before_sleep_cmd = "loginctl lock-session";
lock_cmd = "pidof hyprlock || hyprlock";
before_sleep_cmd = "loginctl lock-session";
after_sleep_cmd = "hyprctl dispatch dpms on";
};
listener = [

View file

@ -1,12 +1,17 @@
{ pkgs, inputs, ... }: {
{
pkgs,
inputs,
...
}: {
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
plugins = [
inputs.hy3.packages.${pkgs.system}.hy3
# inputs.hy3.packages.${pkgs.system}.hy3
# inputs.hyprsplit.packages.${pkgs.system}.hyprsplit
];
settings = {
"$TERM" = "footclient";
"$TERM" = "foot";
"$EDITOR" = "emacsclient -c -a emacs";
env = [
@ -14,6 +19,8 @@
"EDITOR, $EDITOR"
];
debug.disable_logs = false;
monitor = [
"eDP-1,preferred,0x0,1"
];
@ -26,48 +33,61 @@
exec = [
# "~/.config/hypr/scripts/start_swww.sh"
"test $(kill -9 $(pgrep eww)) || eww daemon && eww open vbar && eww open hbar && eww open vbar-alt"
# "test $(kill -9 $(pgrep eww)) || eww daemon && eww open vbar && eww open hbar && eww open vbar-alt"
];
exec-once = [
"mako"
];
plugin = {
"hy3" = {
"tab_first_window" = true;
"tabs" = {
"height" = 5;
"adding" = 5;
"render_text" = false;
"col.active" = "rgba($redff)";
"col.urgent" = "rgba($yellowff)";
"col.inactive" = "rgba(9998A8ff)";
};
"autotile.enable" = true;
};
# "hy3" = {
# "tab_first_window" = true;
# "tabs" = {
# "height" = 5;
# "adding" = 5;
# "render_text" = false;
# "col.active" = "rgba($redff)";
# "col.urgent" = "rgba($yellowff)";
# "col.inactive" = "rgba(9998A8ff)";
# };
# "autotile.enable" = true;
# };
# "hpyrsplit" = {
# num_workspaces = 4;
# };
};
workspace = [
"1, monitor:HDMI-A-1"
"2, monitor:eDP-1"
"3, monitor:HDMI-A-1"
"4, monitor:HDMI-A-1"
"5, monitor:eDP-1"
"6, monitor:HDMI-A-1"
"7, monitor:HDMI-A-1"
];
general = {
gaps_in = 7;
gaps_out = 5;
border_size = 3;
"col.active_border" = "rgb($red)"; #rgb($magenta) rgb($yellow) rgb($green) rgb($blue) rgb($cyan) rgb($purple) 45deg";
"col.inactive_border" = "rgb($light_black)"; # rgb($white)";
layout = "hy3";
# layout = "dwindle";
# layout = "hy3";
layout = "dwindle";
};
decoration = {
rounding = 0;
blur = {
enabled = false;
passes = 4;
};
active_opacity = 0.95;
inactive_opacity = 0.90;
active_opacity = 0.99;
inactive_opacity = 0.97;
drop_shadow = false;
shadow_range = 15;
shadow_render_power = 3;
@ -83,7 +103,7 @@
"winIn, 0.1, 1.1, 0.1, 1.1"
"winOut, 0.3, -0.3, 0, 1"
];
animation = [
"windows , 1, 2.5 , wind"
# "windowsIn , 1, 2.5 , winIn"
@ -102,30 +122,30 @@
force_split = 2;
special_scale_factor = 0.75;
};
misc = {
disable_hyprland_logo = true;
vfr = true;
vfr = true;
};
opengl = {
force_introspection = 1;
};
input = {
kb_layout = "us";
kb_options = "caps:escape";
numlock_by_default = true;
follow_mouse = 1;
touchpad = {
natural_scroll = true;
disable_while_typing = true;
};
sensitivity = 0;
};
gestures = {
workspace_swipe = true;
};
@ -139,13 +159,13 @@
"SUPER_SHIFT, R, exec, ~/Documents/programming/rust/npg/rofi-npg.sh"
# "CTRL_ALT, E, exec, ~/.config/hypr/scripts/restart-emacs.sh"
"SUPER_SHIFT, P, exec, ~/.config/hypr/scripts/gamemode.sh" # Disabling Aesthetics
"SUPER_SHIFT, P, exec, ~/.config/hypr/scripts/gamemode.sh" # Disabling Aesthetics
"SUPER, p, exec, hyprpicker -a -f hex"
"SUPER_SHIFT, return, exec, $TERM"
"SUPER_SHIFT, n, exec, $EDITOR"
"CTRL_SHIFT, F, exec, ~/.config/hypr/scripts/hyprshot -m region -r | wl-copy -t image/png"
###### Brightness Control
@ -158,11 +178,11 @@
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioPrev, exec, playerctl previous"
", XF86AudioNext, exec, playerctl next"
", XF86AudioLowerVolume, exec, pamixer --decrease 5"
", XF86AudioRaiseVolume, exec, pamixer --increase 5"
", XF86AudioMute, exec, pamixer --toggle-mute"
"SUPER, mouse:276, exec, ~/.config/hypr/scripts/mute_mic.sh"
"SUPER, m, exec, ~/.config/hypr/scripts/mute_mic.sh"
@ -176,41 +196,34 @@
"$mainMod, S, togglespecialworkspace,"
"SUPER_SHIFT, S, movetoworkspace, special"
"$mainMod, 1, exec, ~/.config/eww/scripts/workspaces switch 1"
"$mainMod, 2, exec, ~/.config/eww/scripts/workspaces switch 2"
"$mainMod, 3, exec, ~/.config/eww/scripts/workspaces switch 3"
"$mainMod, 4, exec, ~/.config/eww/scripts/workspaces switch 4"
"$mainMod, Q, exec, ~/.config/eww/scripts/workspaces switch 5"
"$mainMod, W, exec, ~/.config/eww/scripts/workspaces switch 6"
"$mainMod, E, exec, ~/.config/eww/scripts/workspaces switch 7"
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, Q, workspace, 5"
"$mainMod, W, workspace, 6"
"$mainMod, E, workspace, 7"
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 1, exec, ~/.config/eww/scripts/workspaces switch 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 2, exec, ~/.config/eww/scripts/workspaces switch 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 3, exec, ~/.config/eww/scripts/workspaces switch 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 4, exec, ~/.config/eww/scripts/workspaces switch 4"
"$mainMod SHIFT, Q, movetoworkspace, 5"
"$mainMod SHIFT, Q, exec, ~/.config/eww/scripts/workspaces switch 5"
"$mainMod SHIFT, W, movetoworkspace, 6"
"$mainMod SHIFT, W, exec, ~/.config/eww/scripts/workspaces switch 6"
"$mainMod SHIFT, E, movetoworkspace, 7"
"$mainMod SHIFT, E, exec, ~/.config/eww/scripts/workspaces switch 7"
"$mainMod SHIFT, l, workspace, e+1"
"$mainMod SHIFT, h, workspace, e-1"
"$mainMod SHIFT, right, workspace, e+1"
"$mainMod SHIFT, left, workspace, e-1"
"$mainMod, h, hy3:focustab, left, wrap"
"$mainMod, l, hy3:focustab, right, wrap"
"$mainMod, left, hy3:focustab, left, wrap"
"$mainMod, right, hy3:focustab, right, wrap"
# "$mainMod, h, hy3:focustab, left, wrap"
# "$mainMod, l, hy3:focustab, right, wrap"
# "$mainMod, left, hy3:focustab, left, wrap"
# "$mainMod, right, hy3:focustab, right, wrap"
"$mainMod, v, hy3:makegroup, h"
"$mainMod, t, hy3:makegroup, tab"
# "$mainMod, v, hy3:makegroup, h"
# "$mainMod, t, hy3:makegroup, tab"
######
];
@ -221,7 +234,7 @@
];
bindn = [
# Switch Tabs by Clicking
", mouse:272, hy3:focustab, mouse"
# ", mouse:272, hy3:focustab, mouse"
];
bindl = [
# Lock on Lid Close

View file

@ -0,0 +1,25 @@
{...}: {
programs.hyprlock = {
enable = true;
settings = {
background = {
monitor = "";
path = "~/Pictures/Art/Wallpapers/spookys-mansion.png";
color = "rgb(0F1010)";
};
input-field = {
monitor = "";
size = "200, 50";
outline_thickness = 3;
outer_color = "rgb(F8C8DC)";
inner_color = "rgb(2A2A2A)";
font_color = "rgb(E1DBEB)";
placeholder-test = "<i>Input Password...</i>";
position = "0, -20";
halign = "center";
valign = "center";
};
};
};
}

View file

@ -0,0 +1,19 @@
{
pkgs,
inputs,
...
}: {
services.hyprpaper = {
enable = true;
package = inputs.hyprpaper.packages.${pkgs.system}.hyprpaper;
settings = {
preload = [
"~/Pictures/Art/Wallpapers/miku-wallpaper-0-ff.png"
];
wallpaper = [
"eDP-1,~/Pictures/Art/Wallpapers/miku-wallpaper-0-ff.png"
"HDMI-A-1,~/Pictures/Art/Wallpapers/miku-wallpaper-0-ff.png"
];
};
};
}

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
imports = [
./music.nix
];

View file

@ -0,0 +1,51 @@
{pkgs, ...}: {
home.packages = [
pkgs.mpc-cli
];
systemd.user.services.mpdscribble = {
Unit = {
Description = "start mpdscribble";
};
Install = {
WantedBy = ["mpd.service"];
};
Service = {
ExecStart = "${pkgs.mpdscribble}/bin/mpdscribble -D";
Restart = "on-failure";
};
};
systemd.user.services.mpd-notification = {
Unit = {
Description = "start mpd-notification";
};
Install = {
WantedBy = ["mpd.service"];
};
Service = {
ExecStart = "${pkgs.mpd-notification}/bin/mpd-notification";
Restart = "on-failure";
};
};
services.mpdris2.enable = true;
services.mpdris2.mpd.musicDirectory = null;
services.mpd = {
enable = true;
musicDirectory = "~/Music/";
extraConfig = ''
audio_output {
type "pipewire"
name "PipeWire Sound Server"
}
'';
};
programs.ncmpcpp = {
enable = true;
mpdMusicDir = "~/Music";
package = pkgs.ncmpcpp;
settings = {
media_library_primary_tag = "album_artist";
};
};
}

View file

@ -1,6 +1,8 @@
{ ... }: {
{...}: {
imports = [
./zsh.nix
./nushell.nix
./direnv.nix
./fish.nix
];
}

View file

@ -1,7 +1,6 @@
{ ... }: {
{...}: {
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
}

View file

@ -0,0 +1,33 @@
{pkgs, ...}: {
programs.fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting
'';
plugins = [
{
name = "fzf";
src = pkgs.fishPlugins.fzf.src;
}
];
shellAliases = {
nh-switch = "doas nh os switch --bypass-root-check $FLAKE";
ls = "eza -1";
};
shellInit = ''
set FLAKE ~/nixos
set -Ux fifc_editor hx
set -U fifc_fd_opts --hidden
set -U FZF_COMPLETE 2
set EDITOR hx
set FZF_DEFAULT_COMMAND 'fd --type file --color=always'
set FZF_CTRL_T_COMMAND '$FZF_DEFAULT_COMMAND'
set FZF_PREVIEW_FILE_CMD 'bat --theme=base16 --color=always --style=grid --line-range :300'
set FZF_DEFAULT_OPTS "\
--height 40% --layout=reverse --ansi \
--color=fg:#C9C7CD,bg:#0F1010,hl:#8EB6F5 \
--color=info:#BFD7B5,prompt:#F8C8DC,pointer:#F8C8DC \
--color=marker:#BEE7c5,spinner:#C3B1E1,header:#C1E7E3"
'';
};
}

View file

@ -0,0 +1,43 @@
{...}: {
programs.nushell = {
enable = true;
extraConfig = ''
source ~/.cache/carapace/init.nu
let carapace_completer = {|spans|
carapace $spans.0 nushell ...$spans | from json
}
$env.config.completions.external = {
enable: true
max_results: 100
completer: $carapace_completer
}
$env.config.completions.case_sensitive = false;
$env.config.completions.sort = "smart";
$env.config = {
show_banner: false,
};
$env.LS_COLORS = ""
$env.PROMPT_COMMAND = { $"(ansi yellow)($env.USER) (ansi green)at (ansi blue)(hostname) (ansi green)in (ansi magenta)(pwd | str replace -r $"($env.HOME)" '~' )(ansi reset) \n\n" }
$env.PROMPT_INDICATOR = "ζ "
$env.PATH = $env.PATH ++ "~/.local/bin"
'';
extraEnv = ''
mkdir ~/.cache/carapace
carapace _carapace nushell | save --force ~/.cache/carapace/init.nu
'';
shellAliases = {
grep = "rg";
nh-switch = "doas nh os switch --bypass-root-check";
nix-shell = "nix-shell --command '\''zsh'\''";
sudo = "doas";
tree = "eza --tree --icons";
};
environmentVariables = {
PAGER = "'most'";
EDITOR = "'nvim'";
FLAKE = ''$"($env.HOME)/nixos"'';
};
};
programs.carapace.enable = true;
programs.carapace.enableNushellIntegration = true;
}

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
programs.zsh = {
enable = true;
autocd = true;
@ -10,7 +10,9 @@
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=#3E3E43,bg=black,bold,underline";
TERM = "xterm-256color";
EDITOR = "nvim";
FZF_DEFAULT_OPTS = "$FZF_DEFAULT_OPTS" + ''
FZF_DEFAULT_OPTS =
"$FZF_DEFAULT_OPTS"
+ ''
--color=fg:#C9C7CD,bg:#0F1010,hl:#8EB6F5
--color=fg+:#C9C7CD,bg+:#1B1B1B,hl+:#8EC4E5
--color=info:#BFD7B5,prompt:#F8C8DC,pointer:#F8C8DC
@ -19,6 +21,7 @@
antidote = {
enable = true;
plugins = [
"z-shell/zsh-fancy-completions"
"Aloxaf/fzf-tab"
"romkatv/zsh-defer"
"zdharma/fast-syntax-highlighting"
@ -33,7 +36,7 @@
grep = "rg";
sudo = "doas";
nix-shell = "nix-shell --command 'zsh'";
nh-switch = "doas nh os switch --bypass-root-check";
nh-switch = "doas nh --bypass-root-check";
};
history = {
expireDuplicatesFirst = true;
@ -42,39 +45,38 @@
append = true;
};
initExtra = ''
zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
zstyle ':fzf-tab:*' prefix '·'
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
zstyle ':completion:*' matcher-list ''' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
zstyle ':fzf-tab:*' prefix '·'
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
zstyle ':completion:*' matcher-list ''' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
setopt PROMPT_SUBST
setopt glob_dots
setopt PROMPT_SUBST
setopt glob_dots
path+=(~/go/bin/)
path+=(~/.cargo/bin/)
path+=(~/.local/bin/)
export PATH
path+=(~/go/bin/)
path+=(~/.cargo/bin/)
path+=(~/.local/bin/)
export PATH
function in_nix_shell() {
if [ ! -z ''${IN_NIX_SHELL+x} ];
then echo "%{$fg[blue]%} ";
else
echo "%{$fg[red]%}ζ";
fi
}
function in_nix_shell() {
if [ ! -z ''${IN_NIX_SHELL+x} ];
then echo "%{$fg[blue]%} ";
else
echo "%{$fg[red]%}ζ";
fi
}
export NEWLINE=$'\n'
function prompt() {
PROMPT="%B%{$fg[yellow]%}%n %{$fg[green]%}at %{$fg[blue]%}%M %{$fg[green]%}in %{$fg[magenta]%}%~%{$fg[red]%}%{$reset_color%} $(gitprompt)%f''${NEWLINE}$(in_nix_shell)%b "
}
precmd_functions+=(prompt)
export NEWLINE=$'\n'
function prompt() {
PROMPT="%B%{$fg[yellow]%}%n %{$fg[green]%}at %{$fg[blue]%}%M %{$fg[green]%}in %{$fg[magenta]%}%~%{$fg[red]%}%{$reset_color%} $(gitprompt)%f''${NEWLINE}$(in_nix_shell)%b "
}
precmd_functions+=(prompt)
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
'';
};
}

View file

@ -1,5 +1,24 @@
{
"nodes": {
"ags": {
"inputs": {
"nixpkgs": "nixpkgs",
"systems": "systems"
},
"locked": {
"lastModified": 1725841979,
"narHash": "sha256-SXYqzpHPuXFR6w/cUKo3VN8XRn6XA2mGbdRXs9oLk6k=",
"owner": "Aylur",
"repo": "ags",
"rev": "aaef50bb2c80ef4b4a359329d72669a95e7c4796",
"type": "github"
},
"original": {
"owner": "Aylur",
"repo": "ags",
"type": "github"
}
},
"aquamarine": {
"inputs": {
"hyprutils": [
@ -20,11 +39,11 @@
]
},
"locked": {
"lastModified": 1725199881,
"narHash": "sha256-jsmipf/u1GFZE5tBUkr56CHMN6VpUWCAjfLIhvQijU0=",
"lastModified": 1726665257,
"narHash": "sha256-rEzEZtd3iyVo5RJ1OGujOlnywNf3gsrOnjAn1NLciD4=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "f8a687dd29ff019657498f1bd14da2fbbf0e604b",
"rev": "752d0fbd141fabb5a1e7f865199b80e6e76f8d8e",
"type": "github"
},
"original": {
@ -33,10 +52,32 @@
"type": "github"
}
},
"crane": {
"inputs": {
"nixpkgs": [
"schizofox",
"searx-randomizer",
"nixpkgs"
]
},
"locked": {
"lastModified": 1701386725,
"narHash": "sha256-w4aBlMYh9Y8co1V80m5LzEKMijUJ7CBTq209WbqVwUU=",
"owner": "ipetkov",
"repo": "crane",
"rev": "8b9bad9b30bd7a9ed08782e64846b7485f9d0a38",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"emacs-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
@ -54,9 +95,64 @@
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"schizofox",
"nixpkgs"
]
},
"locked": {
"lastModified": 1722555600,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1698882062,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
@ -72,46 +168,13 @@
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_4"
},
"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"
}
},
"flakey-profile": {
"locked": {
"lastModified": 1712898590,
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
"owner": "lf-",
"repo": "flakey-profile",
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
"type": "github"
},
"original": {
"owner": "lf-",
"repo": "flakey-profile",
"type": "github"
}
},
"hardware": {
"locked": {
"lastModified": 1725477728,
"narHash": "sha256-ahej1VRqKmWbG7gewty+GlrSBEeGY/J2Zy8Nt8+3fdg=",
"lastModified": 1727040444,
"narHash": "sha256-19FNN5QT9Z11ZUMfftRplyNN+2PgcHKb3oq8KMW/hDA=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "880be1ab837e1e9fe0449dae41ac4d034694d4ce",
"rev": "d0cb432a9d28218df11cbd77d984a2a46caeb5ac",
"type": "github"
},
"original": {
@ -121,6 +184,33 @@
"type": "github"
}
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": [
"schizofox",
"nixpak",
"flake-parts"
],
"nixpkgs": [
"schizofox",
"nixpak",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719226092,
"narHash": "sha256-YNkUMcCUCpnULp40g+svYsaH1RbSEj6s4WdZY/SHe38=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "11e4b8dc112e2f485d7c97e1cee77f9958f498f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -128,11 +218,32 @@
]
},
"locked": {
"lastModified": 1725628988,
"narHash": "sha256-Y6TBMTGu4bddUwszGjlcOuN0soVc1Gv43hp+1sT/GNI=",
"lastModified": 1726985855,
"narHash": "sha256-NJPGK030Y3qETpWBhj9oobDQRbXdXOPxtu+YgGvZ84o=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "127ccc3eb7e36fa75e8c3fbd8a343154f66cc1c6",
"rev": "04213d1ce4221f5d9b40bcee30706ce9a91d148d",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"schizofox",
"nixpkgs"
]
},
"locked": {
"lastModified": 1723015306,
"narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e",
"type": "github"
},
"original": {
@ -148,11 +259,11 @@
]
},
"locked": {
"lastModified": 1725573970,
"narHash": "sha256-KJKO4b5Gl+7t3hF+X56Y0W/Lxf2OxWl/aLgzbiN3+hI=",
"lastModified": 1725825817,
"narHash": "sha256-hBvwaMlgBuR2cB1Kx6cA1z7x38HXUujNcHtBsKhaEZs=",
"owner": "outfoxxed",
"repo": "hy3",
"rev": "e91460d63627cdad417cac2c09897be58094e2e0",
"rev": "4b194eb5486b89102726ad5f4492bb3440c46031",
"type": "github"
},
"original": {
@ -197,16 +308,16 @@
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2",
"systems": "systems_2",
"nixpkgs": "nixpkgs_3",
"systems": "systems_3",
"xdph": "xdph"
},
"locked": {
"lastModified": 1725580992,
"narHash": "sha256-0g6lzfyIcRaHlDuiWTVy9ZGWtIhIpdqHUTTGtAVR+4Q=",
"lastModified": 1726995313,
"narHash": "sha256-HTbsXJDFugdQ794d1Bnh8eRSY7AlunIxd7jFW9kkKNM=",
"ref": "refs/heads/main",
"rev": "b0fca6eaf00a2c5061f499c76ec8d60772b6a719",
"revCount": 5191,
"rev": "e5ff19ac0f2c8d53a0c847d06a17676e636d6447",
"revCount": 5247,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -290,11 +401,11 @@
]
},
"locked": {
"lastModified": 1725188252,
"narHash": "sha256-yBH8c4GDaEAtBrh+BqIlrx5vp6gG/Gu8fQQK63KAQgs=",
"lastModified": 1725997860,
"narHash": "sha256-d/rZ/fHR5l1n7PeyLw0StWMNLXVU9c4HFyfskw568so=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "c12ab785ce1982f82594aff03b3104c598186ddd",
"rev": "dfeb5811dd6485490cce18d6cc1e38a055eea876",
"type": "github"
},
"original": {
@ -337,8 +448,8 @@
"hyprlang": "hyprlang_2",
"hyprutils": "hyprutils_2",
"hyprwayland-scanner": "hyprwayland-scanner_2",
"nixpkgs": "nixpkgs_3",
"systems": "systems_3"
"nixpkgs": "nixpkgs_4",
"systems": "systems_4"
},
"locked": {
"lastModified": 1725200438,
@ -354,6 +465,26 @@
"url": "https://github.com/hyprwm/hyprpaper"
}
},
"hyprsplit": {
"inputs": {
"hyprland": [
"hyprland"
]
},
"locked": {
"lastModified": 1726950200,
"narHash": "sha256-pcEAalCVOPZ28j9o0NtsU1rqfDIDzM/CPkS8XfZINsM=",
"owner": "shezdy",
"repo": "hyprsplit",
"rev": "7199a5147c6ab797402963033f9c480e6d10f37c",
"type": "github"
},
"original": {
"owner": "shezdy",
"repo": "hyprsplit",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
@ -366,11 +497,11 @@
]
},
"locked": {
"lastModified": 1724966483,
"narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=",
"lastModified": 1726874949,
"narHash": "sha256-PNnIpwGqpTvMU3N2r0wMQwK1E+t4Bb5fbJwblQvr+80=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2",
"rev": "d97af4f6bd068c03a518b597675e598f57ea2291",
"type": "github"
},
"original": {
@ -416,11 +547,11 @@
]
},
"locked": {
"lastModified": 1721324119,
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
"lastModified": 1726840673,
"narHash": "sha256-HIPEXyRRVZoqD6U+lFS1B0tsIU7p83FaB9m7KT/x6mQ=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
"rev": "b68dab23fc922eae99306988133ee80a40b39ca5",
"type": "github"
},
"original": {
@ -454,41 +585,6 @@
"type": "github"
}
},
"lix": {
"flake": false,
"locked": {
"lastModified": 1723503926,
"narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=",
"rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"
}
},
"lix-module": {
"inputs": {
"flake-utils": "flake-utils_2",
"flakey-profile": "flakey-profile",
"lix": "lix",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1723510904,
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"
}
},
"nh": {
"inputs": {
"nixpkgs": [
@ -496,11 +592,11 @@
]
},
"locked": {
"lastModified": 1725287741,
"narHash": "sha256-ZxyB7BwxQjoMz5lUnsb+KuTWfRyPtJVqEjnlOoABSUE=",
"lastModified": 1725746760,
"narHash": "sha256-p38Uini6lChBCF0mZndHXTAy7ZH/OQLY696BFCHg92g=",
"owner": "viperML",
"repo": "nh",
"rev": "5dd64eb04fddeac2eb08c018212cc58978934920",
"rev": "7650b372e55a36d7765ee0a5e59b142731bc8b3d",
"type": "github"
},
"original": {
@ -509,13 +605,39 @@
"type": "github"
}
},
"nixpak": {
"inputs": {
"flake-parts": [
"schizofox",
"flake-parts"
],
"hercules-ci-effects": "hercules-ci-effects",
"nixpkgs": [
"schizofox",
"nixpkgs"
]
},
"locked": {
"lastModified": 1723083542,
"narHash": "sha256-Nkbb3j+P0zMqvZUlV6WbT5erHasZ14NW0TJS3Bb9dVY=",
"owner": "nixpak",
"repo": "nixpak",
"rev": "d36970c58794c90401617accae0eb48868e335e6",
"type": "github"
},
"original": {
"owner": "nixpak",
"repo": "nixpak",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1724819573,
"narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=",
"lastModified": 1725634671,
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "71e91c409d1e654808b2621f28a327acfdad8dc2",
"rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
"type": "github"
},
"original": {
@ -525,13 +647,31 @@
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1698611440,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-small": {
"locked": {
"lastModified": 1725622710,
"narHash": "sha256-6+zidwZUjLDokXgeqKMCgXl9cdqbG+ln1kf8/tX6yek=",
"lastModified": 1727016414,
"narHash": "sha256-bj9ch2QIF8jqBlPOVRnJygy1K7yWtvh8Lf7I/rsqG3A=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5a24308c384447887fe59453dd23b5cb09079593",
"rev": "179b6bce21525a3a9e725c08e6ed58d56da74825",
"type": "github"
},
"original": {
@ -557,13 +697,29 @@
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1725103162,
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
"lastModified": 1725762081,
"narHash": "sha256-vNv+aJUW5/YurRy1ocfvs4q/48yVESwlC/yHzjkZSP8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
"rev": "dc454045f5b5d814e5862a6d057e7bb5c29edc05",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1724819573,
"narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "71e91c409d1e654808b2621f28a327acfdad8dc2",
"type": "github"
},
"original": {
@ -574,6 +730,22 @@
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1726755586,
"narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1725103162,
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
@ -589,13 +761,13 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1725432240,
"narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=",
"lastModified": 1726755586,
"narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ad416d066ca1222956472ab7d0555a6946746a80",
"rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e",
"type": "github"
},
"original": {
@ -605,8 +777,63 @@
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1723066817,
"narHash": "sha256-qNFGLlVhc3AsS2I/LZSrh6UgTc/OBDz5auVGuOeA6ik=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "15ae9a17b392a447177686f2941804dc203f89da",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1725534445,
"narHash": "sha256-Yd0FK9SkWy+ZPuNqUgmVPXokxDgMJoGuNpMEtkfcf84=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9bb1e7571aadf31ddb4af77fc64b2d59580f9a39",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"priv": {
"inputs": {
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"dirtyRev": "4c6ab0b52c995edc7948405ee1d3501fa05a939c-dirty",
"dirtyShortRev": "4c6ab0b-dirty",
"lastModified": 1727226563,
"narHash": "sha256-1p4zkHArqv4DS1PjbpKr4gaa8wcKtzhyOy9TcnPZzrI=",
"type": "git",
"url": "file:///home/ly/nixos/priv/"
},
"original": {
"type": "git",
"url": "file:///home/ly/nixos/priv/"
}
},
"root": {
"inputs": {
"ags": "ags",
"emacs-overlay": "emacs-overlay",
"hardware": "hardware",
"home-manager": "home-manager",
@ -614,28 +841,82 @@
"hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
"hyprpaper": "hyprpaper",
"lix-module": "lix-module",
"hyprsplit": "hyprsplit",
"nh": "nh",
"nixpkgs": "nixpkgs_4",
"nixpkgs-small": "nixpkgs-small"
"nixpkgs": "nixpkgs_5",
"nixpkgs-small": "nixpkgs-small",
"priv": "priv",
"schizofox": "schizofox",
"sops-nix": "sops-nix"
}
},
"systems": {
"schizofox": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"home-manager": "home-manager_2",
"nixpak": "nixpak",
"nixpkgs": "nixpkgs_6",
"searx-randomizer": "searx-randomizer",
"systems": "systems_5"
},
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"lastModified": 1725210690,
"narHash": "sha256-iCGXWHn7MeU3uKLw0bQyyl3rvIN7/X2bxZ7buqZgNvU=",
"owner": "schizofox",
"repo": "schizofox",
"rev": "4c554d44b73823d820bb6add4c12411e0ffecd80",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"owner": "schizofox",
"repo": "schizofox",
"type": "github"
}
},
"systems_2": {
"searx-randomizer": {
"inputs": {
"crane": "crane",
"flake-parts": "flake-parts_2",
"nixpkgs": [
"schizofox",
"nixpkgs"
]
},
"locked": {
"lastModified": 1704412376,
"narHash": "sha256-Ap/AudJxCYBDWYy0lyqP0/FZYJCibL7jKkoj6hp1WS0=",
"owner": "schizofox",
"repo": "searx-randomizer",
"rev": "c36a473732ba6b4f6024ac1c181631cf4d542b17",
"type": "github"
},
"original": {
"owner": "schizofox",
"repo": "searx-randomizer",
"type": "github"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_7",
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1726524647,
"narHash": "sha256-qis6BtOOBBEAfUl7FMHqqTwRLB61OL5OFzIsOmRz2J4=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "e2d404a7ea599a013189aa42947f66cede0645c8",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -650,6 +931,21 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1689347949,
@ -667,16 +963,31 @@
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"repo": "default-linux",
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
@ -687,6 +998,14 @@
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
@ -697,11 +1016,11 @@
]
},
"locked": {
"lastModified": 1725203932,
"narHash": "sha256-VLULC/OnI+6R9KEP2OIGk+uLJJsfRlaLouZ5gyFd2+Y=",
"lastModified": 1726933538,
"narHash": "sha256-xTqnMoJsEojuvqJLuM+U7EZ7q71efaj3pbvjutq4TXc=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "2425e8f541525fa7409d9f26a8ffaf92a3767251",
"rev": "4880c50146d0c2a3152d2b02f79253810c330c11",
"type": "github"
},
"original": {

View file

@ -14,24 +14,65 @@
];
};
outputs = {
sops-nix,
hardware,
nixpkgs,
home-manager,
priv,
...
} @ inputs: let
modules = [
priv.nixosModules.secret
./common
# lix-module.nixosModules.default
sops-nix.nixosModules.sops
];
in {
formatter."x86_64-linux" = nixpkgs.legacyPackages."x86_64-linux".alejandra;
nixosConfigurations = {
t495s-nixos = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules =
modules
++ [
./hosts/t495s-nixos
hardware.nixosModules.lenovo-thinkpad-t495
home-manager.nixosModules.home-manager
{
home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
};
};
};
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-small.url = "github:nixos/nixpkgs/nixos-unstable-small";
hardware.url = "github:NixOS/nixos-hardware/master";
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
# lix-module = {
# url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz";
# inputs.nixpkgs.follows = "nixpkgs";
# };
sops-nix.url = "github:Mic92/sops-nix";
nh = {
url = "github:viperML/nh";
inputs.nixpkgs.follows = "nixpkgs";
};
ags.url = "github:Aylur/ags";
emacs-overlay.url = "github:nix-community/emacs-overlay?rev=1ac2a8f8ba9d1cbe621d1890dce295716d603daf";
schizofox.url = "github:schizofox/schizofox";
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
hyprpaper.url = "git+https://github.com/hyprwm/hyprpaper";
@ -44,37 +85,20 @@
url = "github:outfoxxed/hy3";
inputs.hyprland.follows = "hyprland";
};
hyprsplit = {
url = "github:shezdy/hyprsplit";
inputs.hyprland.follows = "hyprland";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, lix-module, hardware, nixpkgs, home-manager, ... }@inputs:
let
myVars = {
username = "ly";
};
modules = [
./common
lix-module.nixosModules.default
];
in {
nixosConfigurations = {
t495s-nixos = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs myVars; };
modules = modules ++ [
./hosts/t495s-nixos/configuration.nix
hardware.nixosModules.lenovo-thinkpad-t495
home-manager.nixosModules.home-manager {
home-manager.extraSpecialArgs = { inherit inputs myVars; };
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.${myVars.username} = import ./hosts/t495s-nixos/home.nix;
}
];
};
};
priv = {
url = "git+file:///home/ly/nixos/priv/";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
};
}

View file

@ -1,8 +0,0 @@
{ ... }: {
imports = [
./hypr
./music
./shell
./desktop
];
}

View file

@ -1,41 +0,0 @@
{ ... }: {
programs.foot = {
enable = true;
server.enable = true;
settings = {
main = {
term = "xterm-256color";
font = "IosevkaComfy Nerd Font:size=14:style=medium";
font-italic = "IosevkaComfy Nerd Font:size=14:style=Italic";
font-bold = "IosevkaComfy Nerd Font:size=14:style=bold";
font-bold-italic = "IosevkaComfy Nerd Font:size=14:style=Bold Italic";
pad = "10x10";
};
colors = {
alpha="0.86";
background = "0F1010";
foreground = "C9C7CD";
## Normal/regular colors (color palette 0-7)
regular0 = "0F1010"; # black
regular1 = "F8C8DC"; # red
regular2 = "BFD7B5"; # green
regular3 = "F5BBA1"; # yellow
regular4 = "8EB6F5"; # blue
regular5 = "F49AC2"; # magenta
regular6 = "C1E7E3"; # cyan
regular7 = "E1DBEB"; # white
## Bright colors (color palette 8-15)
bright0 = "2A2A2D"; # bright black
bright1 = "F8C8DC"; # bright red
bright2 = "BFD7B5"; # bright green
bright3 = "F5BBA1"; # bright yellow
bright4 = "8EB6F5"; # bright blue
bright5 = "F49AC2"; # bright magenta
bright6 = "C1E7E3"; # bright cyan
bright7 = "E1DBEB"; # bright white
};
scrollback.multiplier = 5.0;
};
};
}

View file

@ -1,16 +0,0 @@
{ ... }: {
services.mako = {
enable = true;
defaultTimeout = 3000;
anchor = "top-right";
font = "Iosevka Comfy 12";
backgroundColor = "#0F1010";
textColor = "#C9C7CD";
borderColor = "#F8C8DC";
progressColor = "over #8EB6F5";
extraConfig = ''
[urgency=high]
border-color=#F5BBA1
'';
};
}

View file

@ -1,12 +0,0 @@
{ pkgs, ... }: {
home.packages = [
pkgs.gradience
];
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.google-cursor;
name = "GoogleDot-Black";
size = 14;
};
}

View file

@ -1,8 +0,0 @@
{ ... }: {
imports = [
./hyprland.nix
./hypridle.nix
./hyprpaper.nix
./hyprlock.nix
];
}

View file

@ -1,25 +0,0 @@
{ ... }: {
programs.hyprlock = {
enable = true;
settings = {
background = {
monitor = "";
path = "~/Pictures/Art/Wallpapers/spookys-mansion.png";
color = "rgb(0F1010)";
};
input-field = {
monitor = "";
size = "200, 50";
outline_thickness = 3;
outer_color = "rgb(F8C8DC)";
inner_color = "rgb(2A2A2A)";
font_color = "rgb(E1DBEB)";
placeholder-test = "<i>Input Password...</i>";
position = "0, -20";
halign = "center";
valign = "center";
};
};
};
}

View file

@ -1,15 +0,0 @@
{ pkgs, inputs, ... }: {
services.hyprpaper = {
enable = true;
package = inputs.hyprpaper.packages.${pkgs.system}.hyprpaper;
settings = {
preload = [
"~/Pictures/Art/Wallpapers/apex-legends-alter-tilted-head-edited.png"
];
wallpaper = [
"eDP-1,~/Pictures/Art/Wallpapers/apex-legends-alter-tilted-head-edited.png"
"HDMI-A-1,~/Pictures/Art/Wallpapers/apex-legends-alter-tilted-head-edited.png"
];
};
};
}

View file

@ -1,27 +0,0 @@
{ pkgs, ... }: {
home.packages = [
pkgs.mpc-cli
pkgs.mpdscribble
pkgs.mpd-notification
];
services.mpd = {
enable = true;
musicDirectory = "/home/ly/Music/";
extraConfig = ''
audio_output {
type "pipewire"
name "PipeWire Sound Server"
}
'';
};
programs.ncmpcpp = {
enable = true;
mpdMusicDir = "/home/ly/Music";
package = pkgs.ncmpcpp;
settings = {
media_library_primary_tag = "album_artist";
};
};
}

View file

@ -1,264 +0,0 @@
{ myVars, inputs, config, lib, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
];
virtualisation.containers.enable = true;
powerManagement.enable = true;
hardware.xpadneo.enable = true;
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
services.blueman.enable = true;
networking.hostName = "t495s-nixos";
networking.networkmanager.enable = true;
services.xserver.enable = true;
services.xserver.videoDrivers = [ "amdgpu" ];
hardware.graphics.extraPackages = with pkgs; [
amdvlk
];
hardware.graphics.extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
hardware.graphics.enable32Bit = true;
hardware.opentabletdriver = {
enable = true;
daemon.enable = true;
};
hardware.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
# services.xserver.displayManager.gdm.enable = true;
# services.displayManager.ly.enable = true;
services.xserver.displayManager.startx.enable = true;
# services.fprintd = {
# enable = true;
# # package = pkgs.fprintd-tod;
# tod = {
# enable = true;
# driver = pkgs.libfprint-2-tod1-goodix-550a;
# };
# };
# security.pam.services.login.fprintAuth = true;
security.pam.u2f.enable = true;
security.pam.u2f.control = "required";
security.pam.services = {
login.u2fAuth = true;
};
services.libinput.enable = true;
services.kanata = {
enable = true;
keyboards."internalKeyboard" = {
devices = [ ];
extraDefCfg = "process-unmapped-keys yes";
config = ''
(defsrc s k spc)
(defalias
switch-to-enter (tap-hold 150 150 spc (layer-while-held enter)))
(deflayer default
_ _ @switch-to-enter)
(deflayer enter
ret bspc _)
'';
};
};
environment.pathsToLink = [ "/share/zsh" ];
programs.zsh.enable = true;
programs.zsh.enableCompletion = false;
users.mutableUsers = false;
users.users.ly = {
hashedPassword = "$y$j9T$8sVTwphQx47sc0CkF7KgU0$Zm4QnW/bwV.IAQFCaz.CRIg4acfMVayAcFalAHs6E0C";
isNormalUser = true;
shell = pkgs.zsh;
extraGroups = [ "wheel" "networkmanager" "input" "uinput" ];
packages = with pkgs; [
acpi
adw-gtk3
papirus-icon-theme
transmission_4-gtk
pulseaudio
hunspell
hunspellDicts.en_US
nix-index
eww
brightnessctl
powertop
easyeffects
fprintd
nwg-look
nicotine-plus
krita
gimp
wineWowPackages.waylandFull
winetricks
pavucontrol
pwvucontrol
librewolf
firefox
brave
neovim
fzf
bat
eza
pfetch-rs
nemo
nemo-fileroller
waybar
htop
foot
fuzzel
gnupg
pinentry
grim
slurp
libnotify
ripgrep
fd
jq
wl-clipboard
dotool
pamixer
playerctl
clapper
vesktop
valent
hyprpicker
nil
wf-recorder
ispell
zip
unzip
appimage-run
steam
mesa
protontricks
];
};
fonts.packages = with pkgs; [
nerdfonts
iosevka-comfy.comfy
];
environment.sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with pkgs.gst_all_1; [
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
]);
environment.sessionVariables.NIXOS_OZONE_WL = "1";
environment.systemPackages = with pkgs; [
wget
git
cryptsetup
];
security.doas.wheelNeedsPassword = false;
security.doas.extraRules = [{
users = [ myVars.username ];
keepEnv = true;
noPass = true;
}];
services.power-profiles-daemon.enable = false;
services.tlp = {
enable = true;
settings = {
SOUND_POWER_SAVE_ON_BAT = 1;
SOUND_POWER_SAVE_ON_AC = 0;
WIFI_PWR_ON_AC = "on";
WIFI_PWR_ON_BAT = "on";
WOL_DISABLE= "Y";
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_BOOST_ON_AC = 1;
CPU_BOOST_ON_BAT = 0;
#Optional helps save long term battery health
START_CHARGE_THRESH_BAT0 = 40; # 40 and bellow it starts to charge
STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging
};
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-gnome3;
};
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
};
xdg.portal = {
config.common.default = "*";
enable = true;
extraPortals = [
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal-gtk
];
};
programs.noisetorch.enable = true;
services.envfs.enable = true;
services.pcscd.enable = true;
services.openssh.enable = true;
services.flatpak.enable = true;
networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "24.05"; # Did you read the comment?
}

View file

@ -1,7 +1,188 @@
{ ... }: {
{
inputs,
lib,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
../../common/users/ly
];
virtualisation.containers.enable = true;
powerManagement.enable = true;
hardware.xpadneo.enable = true;
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
services.blueman.enable = true;
networking.hostName = "t495s-nixos";
services.xserver.videoDrivers = ["amdgpu"];
hardware.graphics.extraPackages = with pkgs; [
amdvlk
];
hardware.graphics.extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
hardware.graphics.enable32Bit = true;
hardware.opentabletdriver = {
enable = true;
daemon.enable = true;
};
hardware.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
services.displayManager.enable = false;
security.pam.u2f.enable = true;
# security.pam.u2f.control = "required";
security.pam.services = {
login.u2fAuth = true;
};
services.libinput.enable = true;
services.kanata = {
enable = true;
keyboards."internalKeyboard" = {
devices = [];
extraDefCfg = "process-unmapped-keys yes";
config = ''
(defsrc s k spc)
(defalias
switch-to-enter (tap-hold 150 150 spc (layer-while-held enter)))
(deflayer default
_ _ @switch-to-enter)
(deflayer enter
ret bspc _)
'';
};
};
environment.pathsToLink = ["/share/zsh"];
programs.zsh.enable = true;
programs.zsh.enableCompletion = false;
fonts.packages = [
pkgs.nerdfonts
inputs.nixpkgs-small.legacyPackages.${pkgs.system}.iosevka-comfy.comfy
];
environment.sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with pkgs.gst_all_1; [
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
]);
environment.sessionVariables.NIXOS_OZONE_WL = "1";
environment.systemPackages = with pkgs; [
wget
git
cryptsetup
];
security.doas.extraRules = [
{
groups = ["wheel"];
noPass = true;
keepEnv = true;
}
];
services.power-profiles-daemon.enable = false;
services.tlp = {
enable = true;
settings = {
SOUND_POWER_SAVE_ON_BAT = 1;
SOUND_POWER_SAVE_ON_AC = 0;
WIFI_PWR_ON_AC = "on";
WIFI_PWR_ON_BAT = "on";
WOL_DISABLE = "Y";
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_BOOST_ON_AC = 1;
CPU_BOOST_ON_BAT = 0;
USB_AUTOSUSPEND = 0;
#Optional helps save long term battery health
START_CHARGE_THRESH_BAT0 = 40; # 40 and bellow it starts to charge
STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging
};
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-gnome3;
};
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
xwayland.enable = true;
};
xdg.portal = {
config.common.default = "hyprland;gtk";
enable = true;
extraPortals = [
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal-gtk
];
};
programs.noisetorch.enable = true;
services.envfs.enable = true;
services.pcscd.enable = true;
services.openssh.enable = true;
services.flatpak.enable = true;
services.upower.enable = true;
networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "24.05"; # Did you read the comment?
}

View file

@ -1,36 +1,38 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "ehci_pci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "amdgpu" "kvm-amd" ];
boot.initrd.availableKernelModules = ["nvme" "ehci_pci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["amdgpu" "kvm-amd"];
boot.kernelPackages = pkgs.linuxPackages_zen;
boot.extraModulePackages = [ ];
boot.extraModulePackages = [];
boot.initrd.systemd.enable = true;
fileSystems."/" =
{ device = "/dev/disk/by-uuid/e88b47c4-f0e2-4b33-9008-9975bfedee59";
fsType = "xfs";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/e88b47c4-f0e2-4b33-9008-9975bfedee59";
fsType = "xfs";
};
boot.initrd.luks.devices."luks-e217486e-4fe6-492a-b10a-93a284796c31" = {
device = "/dev/disk/by-uuid/e217486e-4fe6-492a-b10a-93a284796c31";
preLVM = true;
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/E8F1-1E17";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/E8F1-1E17";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [ ];
networking.useDHCP = lib.mkDefault true;
swapDevices = [];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View file

@ -1,25 +0,0 @@
{ inputs, pkgs, ... }:
let
# declare an emacs package derived from emacs, but it also compiles vterm
myEmacs = (pkgs.emacsPackagesFor inputs.emacs-overlay.packages.${pkgs.system}.emacs-pgtk).emacsWithPackages (epkgs: (with epkgs.melpaPackages; [
vterm
]));
in
{
imports = [
../../home
];
home.packages = [
myEmacs
pkgs.bc
];
services.emacs = {
enable = true;
package = myEmacs;
};
/* The home.stateVersion option does not have a default and must be set */
home.stateVersion = "24.05";
}

1
priv Submodule

@ -0,0 +1 @@
Subproject commit 4c6ab0b52c995edc7948405ee1d3501fa05a939c