formate all stuff lol

This commit is contained in:
joygnu 2024-08-21 09:02:49 +02:00
parent 49ade3edf5
commit 61deb8951b
38 changed files with 656 additions and 650 deletions

View file

@ -15,18 +15,24 @@
}; };
}; };
outputs = { nixpkgs, home-manager, stylix, ... }@inputs: let outputs = {
systemConfig = { modules }: nixpkgs.lib.nixosSystem { nixpkgs,
specialArgs = { inherit inputs; }; home-manager,
modules = modules ++ [ stylix.nixosModules.stylix ]; stylix,
}; ...
} @ inputs: let
systemConfig = {modules}:
nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = modules ++ [stylix.nixosModules.stylix];
};
in { in {
nixosConfigurations = { nixosConfigurations = {
desktop = systemConfig { desktop = systemConfig {
modules = [ ./hosts/desktop ]; modules = [./hosts/desktop];
}; };
laptop = systemConfig { laptop = systemConfig {
modules = [ ./hosts/laptop ]; modules = [./hosts/laptop];
}; };
}; };
}; };

View file

@ -1,7 +1,4 @@
{...}: {...}: {
{
programs.ags = { programs.ags = {
enable = true; enable = true;
configDir = ./bar; configDir = ./bar;

View file

@ -1,6 +1,4 @@
{ ... }: {...}: {
{
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,7 +1,4 @@
{ inputs, ... }: {inputs, ...}: {
{
imports = [ imports = [
./zsh ./zsh
./gtk ./gtk
@ -18,4 +15,4 @@
./newsboat ./newsboat
inputs.ags.homeManagerModules.default inputs.ags.homeManagerModules.default
]; ];
} }

View file

@ -1,50 +1,99 @@
{ inputs, ... }: {inputs, ...}: {
{
imports = [ imports = [
./user.nix ./user.nix
]; ];
programs.firefox = { programs.firefox = {
enable = true; enable = true;
profiles.joy = { profiles.joy = {
search.engines = { search.engines = {
"4get" = { "4get" = {
urls = [{ urls = [
template = "https://4get.joygnu.org/web"; {
params = [ template = "https://4get.joygnu.org/web";
{ name = "s"; value = "{searchTerms}"; } params = [
]; {
}]; name = "s";
definedAliases = [ "@4get" ]; value = "{searchTerms}";
}
];
}
];
definedAliases = ["@4get"];
}; };
}; };
search.force = true; search.force = true;
search.default = "4get"; search.default = "4get";
bookmarks = [{ bookmarks = [
name = "Nix sites"; {
toolbar = true; name = "Nix sites";
bookmarks = [ toolbar = true;
{ name = "Packages"; url = "https://search.nixos.org/packages?channel=unstable"; } bookmarks = [
{ name = "Homemanager"; url = "https://nix-community.github.io/home-manager/options.xhtml"; } {
{ name = "Stylix"; url = "https://stylix.danth.me/options/nixos.html"; } name = "Packages";
{ name = "JOYGNU"; url = "https://joygnu.org/"; } url = "https://search.nixos.org/packages?channel=unstable";
{ name = "Mail"; url = "https://mail.joygnu.org/"; } }
{ name = "Server"; url = "https://avoro.eu/cp/clientarea.php?action=productdetails&id=27920"; } {
{ name = "Domain"; url = "https://registrar.epik.com/domain-management/host-records"; } name = "Homemanager";
{ name = "Translate"; url = "https://simplytranslate.org/"; } url = "https://nix-community.github.io/home-manager/options.xhtml";
{ name = "Syncthing"; url = "http://localhost:8384/"; } }
{ name = "GitHub"; url = "https://github.com/"; } {
{ name = "Codeberg"; url = "https://codeberg.org/"; } name = "Stylix";
{ name = "Zophar's Domain"; url = "https://www.zophar.net/music"; } url = "https://stylix.danth.me/options/nixos.html";
{ name = "Hyprland"; url = "https://wiki.hyprland.org/"; } }
{ name = "Monkeytype"; url = "https://monkeytype.com/"; } {
{ name = "piped"; url = "https://piped.video/feed/"; } name = "JOYGNU";
]; url = "https://joygnu.org/";
}]; }
{
name = "Mail";
url = "https://mail.joygnu.org/";
}
{
name = "Server";
url = "https://avoro.eu/cp/clientarea.php?action=productdetails&id=27920";
}
{
name = "Domain";
url = "https://registrar.epik.com/domain-management/host-records";
}
{
name = "Translate";
url = "https://simplytranslate.org/";
}
{
name = "Syncthing";
url = "http://localhost:8384/";
}
{
name = "GitHub";
url = "https://github.com/";
}
{
name = "Codeberg";
url = "https://codeberg.org/";
}
{
name = "Zophar's Domain";
url = "https://www.zophar.net/music";
}
{
name = "Hyprland";
url = "https://wiki.hyprland.org/";
}
{
name = "Monkeytype";
url = "https://monkeytype.com/";
}
{
name = "piped";
url = "https://piped.video/feed/";
}
];
}
];
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [ extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
ublock-origin ublock-origin
darkreader darkreader
@ -65,8 +114,7 @@
"browser.shell.defaultBrowserCheckCount" = 1; "browser.shell.defaultBrowserCheckCount" = 1;
"privacy.trackingprotection.enabled" = true; "privacy.trackingprotection.enabled" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.uiCustomization.state" = "browser.uiCustomization.state" = ''
''
{ {
"placements": { "placements": {
"widget-overflow-fixed-list": [], "widget-overflow-fixed-list": [],
@ -109,10 +157,8 @@
"currentVersion": 18, "currentVersion": 18,
"newElementCount": 4 "newElementCount": 4
} }
''; '';
}; };
}; };
}; };
} }

View file

@ -1,384 +1,380 @@
{ ... } : {...}: {
{ programs.firefox = {
programs.firefox = { enable = true;
enable = true; profiles.joy = {
profiles.joy = {
userChrome = '' userChrome = ''
/*================== Gruvbox Theme for Firefox ================== /*================== Gruvbox Theme for Firefox ==================
Author: kmason Author: kmason
Based on the color scheme of calvinchd's Gruvbox Dark Firefox Theme - https://gitlab.com/calvinchd/gruvbox-dark-firefox-theme Based on the color scheme of calvinchd's Gruvbox Dark Firefox Theme - https://gitlab.com/calvinchd/gruvbox-dark-firefox-theme
*/ */
@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; @namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
:root { :root {
--background: #1d2021; --background: #1d2021;
--secondary: #282828; --secondary: #282828;
--foreground: #EBDBB2; --foreground: #EBDBB2;
--orange-highlight: #fe8019; --orange-highlight: #fe8019;
--sound-border: #68217A; --sound-border: #68217A;
--separator: #665e54; --separator: #665e54;
--toolbar-bgcolor: var(--secondary) !important; --toolbar-bgcolor: var(--secondary) !important;
--tab: var(--background); --tab: var(--background);
--tab-btn: var(--tab-inactive); --tab-btn: var(--tab-inactive);
--tab-inactive: var(--secondary); --tab-inactive: var(--secondary);
--tab-btn-inactive: var(--tab-inactive); --tab-btn-inactive: var(--tab-inactive);
--tab-hover: #32302f; --tab-hover: #32302f;
--tab-btn-hover: #3C3836; --tab-btn-hover: #3C3836;
--toolbar-btn-hover: #49463f; --toolbar-btn-hover: #49463f;
--url-bar: #3C3836; --url-bar: #3C3836;
--url-focus: #504945; --url-focus: #504945;
--url-bar-item-hover: #6a6257; --url-bar-item-hover: #6a6257;
--sidebar: #3C3836; --sidebar: #3C3836;
--sidebar-button-hover: #5A544B; --sidebar-button-hover: #5A544B;
--sidebar-highlight: #458588; --sidebar-highlight: #458588;
} }
/* /*
SEARCH AND POPUPS/MENUS SEARCH AND POPUPS/MENUS
*/ */
.panel-arrowcontainer { .panel-arrowcontainer {
background-color: var(--secondary) !important; background-color: var(--secondary) !important;
} }
#PopupAutoComplete, #PopupAutoComplete,
#PopupSearchAutoComplete #PopupSearchAutoComplete
{ {
background-color: var(--url-focus) !important; background-color: var(--url-focus) !important;
color: var(--foreground) !important; color: var(--foreground) !important;
} }
panelview { panelview {
background-color: var(--sidebar) !important; background-color: var(--sidebar) !important;
color: var(--foreground) !important; color: var(--foreground) !important;
} }
panelview toolbarbutton.subviewbutton:hover { panelview toolbarbutton.subviewbutton:hover {
background-color: var(--sidebar-button-hover) !important; background-color: var(--sidebar-button-hover) !important;
} }
panel[type="autocomplete-richlistbox"] { panel[type="autocomplete-richlistbox"] {
--panel-background: none !important; --panel-background: none !important;
border-radius: 4px !important; border-radius: 4px !important;
color: var(--foreground) !important; color: var(--foreground) !important;
} }
/* /*
_____ ___ ___ _ ___ _ ___ _____ ___ ___ _ ___ _ ___
|_ _/ _ \ / _ \| | | _ ) / \ | _ \ |_ _/ _ \ / _ \| | | _ ) / \ | _ \
| || (_) | (_) | |__| _ \/ = \| / | || (_) | (_) | |__| _ \/ = \| /
|_| \___/ \___/|____|___/_/ \_\_|\_\ |_| \___/ \___/|____|___/_/ \_\_|\_\
*/ */
toolbarseparator, toolbarseparator,
menuseparator menuseparator
{ {
border-color: var(--separator) !important; border-color: var(--separator) !important;
border-image: none !important; border-image: none !important;
} }
toolbar { toolbar {
background-color: var(--secondary); background-color: var(--secondary);
} }
toolbar#TabsToolbar { toolbar#TabsToolbar {
background-color: var(--background); background-color: var(--background);
} }
toolbar#TabsToolbar:-moz-window-inactive { toolbar#TabsToolbar:-moz-window-inactive {
background-color: var(--toolbar-bgcolor) !important; background-color: var(--toolbar-bgcolor) !important;
} }
#titlebar, #titlebar,
#titlebar-spacer, #titlebar-spacer,
#titlebar-buttonbox-container #titlebar-buttonbox-container
{ {
background-color: var(--background) !important; background-color: var(--background) !important;
border: none !important; border: none !important;
} }
#navigator-toolbox { #navigator-toolbox {
--tabs-border-color: var(--orange-highlight) !important; --tabs-border-color: var(--orange-highlight) !important;
} }
/* Remove border under navbar */ /* Remove border under navbar */
#navigator-toolbox::after { #navigator-toolbox::after {
border-bottom: 0px !important; border-bottom: 0px !important;
} }
/* remove some borders */ /* remove some borders */
#navigator-toolbox { #navigator-toolbox {
border: none !important; border: none !important;
} }
/* /*
_ _ ___ _ ___ _ ___ _ _ ___ _ ___ _ ___
| | | | _ \| | | _ ) / \ | _ \ | | | | _ \| | | _ ) / \ | _ \
| |_| | /| |__| _ \/ = \| / | |_| | /| |__| _ \/ = \| /
\___/|_|\_\____|___/_/ \_\_|\_\ \___/|_|\_\____|___/_/ \_\_|\_\
*/ */
#urlbar, #urlbar,
#searchbar #searchbar
{ {
box-shadow: none !important; box-shadow: none !important;
border: none !important; border: none !important;
border-radius: 4px; border-radius: 4px;
color : var(--foreground) !important; color : var(--foreground) !important;
background-color: var(--url-bar) !important; background-color: var(--url-bar) !important;
--autocomplete-popup-separator-color: var(--separator) !important; --autocomplete-popup-separator-color: var(--separator) !important;
} }
#urlbar-input, #urlbar-input,
#urlbar-input-container #urlbar-input-container
{ {
color: var(--foreground) !important; color: var(--foreground) !important;
background-color: var(--url-bar) !important; background-color: var(--url-bar) !important;
} }
#urlbar:not([open]) #urlbar-input-container:focus-within, #urlbar:not([open]) #urlbar-input-container:focus-within,
#searchbar:focus-within #searchbar:focus-within
{ {
border: 2px solid var(--orange-highlight) !important; border: 2px solid var(--orange-highlight) !important;
} }
#urlbar:focus-within, #urlbar:focus-within,
#urlbar[open], #urlbar[open],
#urlbar[open] #urlbar-input-container, #urlbar[open] #urlbar-input-container,
#urlbar[open] #urlbar-input, #urlbar[open] #urlbar-input,
#urlbar-input-container:focus-within, #urlbar-input-container:focus-within,
#urlbar-input:focus, #urlbar-input:focus,
#urlbar-background, #urlbar-background,
.urlbarView, .urlbarView,
#searchbar:focus-within, #searchbar:focus-within,
menupop menupop
{ {
background-color: var(--url-focus) !important; background-color: var(--url-focus) !important;
} }
#searchbar:focus-within { #searchbar:focus-within {
outline: none !important; outline: none !important;
} }
:is(panel, menupopup)::part(content) { :is(panel, menupopup)::part(content) {
background: none !important; background: none !important;
} }
.urlbarView button:hover, .urlbarView button:hover,
#searchbar button:hover, #searchbar button:hover,
.urlbarView-row:hover .urlbarView-row-inner, .urlbarView-row:hover .urlbarView-row-inner,
.search-autocomplete-richlistbox-popup .autocomplete-richlistitem:hover .search-autocomplete-richlistbox-popup .autocomplete-richlistitem:hover
{ {
background-color: var(--url-bar-item-hover) !important; background-color: var(--url-bar-item-hover) !important;
} }
.urlbarView-row[type="switchtab"] > span{ .urlbarView-row[type="switchtab"] > span{
color: var(--orange-highlight) !important; color: var(--orange-highlight) !important;
} }
#PopupSearchAutoComplete .autocomplete-richlistitem[selected], #PopupSearchAutoComplete .autocomplete-richlistitem[selected],
.searchbar-engine-one-off-item[selected], .searchbar-engine-one-off-item[selected],
.urlbarView-row[selected], .urlbarView-row[selected],
.urlbarView-row[aria-selected="true"], .urlbarView-row[aria-selected="true"],
.urlbarView-row:not([type="tip"], [type="dynamic"])[selected] > .urlbarView-row-inner, .urlbarView-row:not([type="tip"], [type="dynamic"])[selected] > .urlbarView-row-inner,
.urlbarView-row-inner[selected] .urlbarView-row-inner[selected]
{ {
color: var(--foreground) !important; color: var(--foreground) !important;
background-color: var(--sidebar-highlight) !important; background-color: var(--sidebar-highlight) !important;
border-radius: 4px !important; border-radius: 4px !important;
} }
/* /*
BOOKMARKS BAR BOOKMARKS BAR
*/ */
#PersonalToolbar { #PersonalToolbar {
background-color: var(--secondary) !important; background-color: var(--secondary) !important;
} }
/* /*
_____ _ ___ ___ _____ _ ___ ___
|_ _/ \ | _ ) __| |_ _/ \ | _ ) __|
| |/ = \| _ \__ \ | |/ = \| _ \__ \
|_/_/ \_\___/___/ |_/_/ \_\___/___/
*/ */
.tab-background[selected="true"] { .tab-background[selected="true"] {
background-color: transparent !important; background-color: transparent !important;
background-image: none !important; background-image: none !important;
} }
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected="true"]):not([multiselected]){ .tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected="true"]):not([multiselected]){
background-color: transparent !important; background-color: transparent !important;
} }
.tabbrowser-tab[soundplaying="true"] { .tabbrowser-tab[soundplaying="true"] {
--lwt-tab-line-color: var(--sound-border) !important; --lwt-tab-line-color: var(--sound-border) !important;
} }
.tab-content[selected="true"] { .tab-content[selected="true"] {
border-color: var(--orange-highlight) !important; border-color: var(--orange-highlight) !important;
--sound-border: var(--orange-highlight) !important; --sound-border: var(--orange-highlight) !important;
} }
.tab-text { .tab-text {
color: var(--foreground); color: var(--foreground);
} }
tab, tab,
#tabbrowser-tabs #tabbrowser-tabs
{ {
background-color: var(--background) !important; background-color: var(--background) !important;
color : var(--foreground) !important; color : var(--foreground) !important;
} }
tab:-moz-window-inactive, tab:-moz-window-inactive,
#tabbrowser-tabs:-moz-window-inactive, #tabbrowser-tabs:-moz-window-inactive,
#nav-bar-customization-target #nav-bar-customization-target
{ {
background-color: var(--secondary) !important; background-color: var(--secondary) !important;
} }
.tabbrowser-tab[selected]{ .tabbrowser-tab[selected]{
opacity: 1; opacity: 1;
} }
.tab-loading-burst { .tab-loading-burst {
background-color: inherit; background-color: inherit;
} }
.tab-content .tab-content
{ {
border-radius: 4px; border-radius: 4px;
margin: 5px 0px 5px 0px !important; margin: 5px 0px 5px 0px !important;
border: 1px solid transparent !important; border: 1px solid transparent !important;
} }
.tab-content[selected="true"] .tab-content[selected="true"]
{ {
background-color: var(--secondary) !important; background-color: var(--secondary) !important;
color : var(--foreground) !important; color : var(--foreground) !important;
border: 1px solid var(--orange-highlight) !important; border: 1px solid var(--orange-highlight) !important;
} }
.tab-content:not([selected="true"]):hover { .tab-content:not([selected="true"]):hover {
background-color: var(--tab-hover) !important; background-color: var(--tab-hover) !important;
} }
/* /*
___ _____ ___ _ ___ ___ _____ ___ _ ___
| _ )_ _| \| |/ __| | _ )_ _| \| |/ __|
| _ \ | | | |\ | |\__ \ | _ \ | | | |\ | |\__ \
|___/ |_| |_| \__|/___/ |___/ |_| |_| \__|/___/
*/ */
/* /*
Toolbar buttons Toolbar buttons
*/ */
toolbarbutton { toolbarbutton {
fill: var(--foreground) !important; fill: var(--foreground) !important;
background-color: transparent !important; background-color: transparent !important;
} }
/* /*
TAB BAR BUTTONS TAB BAR BUTTONS
*/ */
#TabsToolbar toolbarbutton { #TabsToolbar toolbarbutton {
border-radius: 4px; border-radius: 4px;
border: 1px solid transparent !important; border: 1px solid transparent !important;
} }
#TabsToolbar toolbarbutton:-moz-window-inactive { #TabsToolbar toolbarbutton:-moz-window-inactive {
opacity: 0.7 !important; opacity: 0.7 !important;
} }
#alltabs-button > .toolbarbutton-badge-stack, #alltabs-button > .toolbarbutton-badge-stack,
#tabs-newtab-button > .toolbarbutton-icon { #tabs-newtab-button > .toolbarbutton-icon {
background-image: none; background-image: none;
border-radius: 6px; border-radius: 6px;
} }
#alltabs-button:hover > .toolbarbutton-badge-stack, #alltabs-button:hover > .toolbarbutton-badge-stack,
#tabs-newtab-button:hover > .toolbarbutton-icon { #tabs-newtab-button:hover > .toolbarbutton-icon {
background-color: var(--tab-btn-hover) !important; background-color: var(--tab-btn-hover) !important;
} }
/* Firefox View button */ /* Firefox View button */
#TabsToolbar #firefox-view-button > .toolbarbutton-icon #TabsToolbar #firefox-view-button > .toolbarbutton-icon
{ {
background-image: none !important; background-image: none !important;
border-radius: 4px; border-radius: 4px;
} }
#TabsToolbar #firefox-view-button[open] > .toolbarbutton-icon #TabsToolbar #firefox-view-button[open] > .toolbarbutton-icon
{ {
background-color: var(--secondary) !important; background-color: var(--secondary) !important;
color : var(--foreground) !important; color : var(--foreground) !important;
padding: 9px !important; padding: 9px !important;
border: 1px solid var(--orange-highlight) !important; border: 1px solid var(--orange-highlight) !important;
} }
#TabsToolbar #firefox-view-button:not([open]):hover > .toolbarbutton-icon { #TabsToolbar #firefox-view-button:not([open]):hover > .toolbarbutton-icon {
background-color: var(--tab-hover) !important; background-color: var(--tab-hover) !important;
} }
/* /*
MIDDLE BAR (url bar) BUTTONS MIDDLE BAR (url bar) BUTTONS
*/ */
#nav-bar toolbarbutton > .toolbarbutton-icon, #nav-bar toolbarbutton > .toolbarbutton-icon,
#nav-bar toolbarbutton > .toolbarbutton-badge-stack { #nav-bar toolbarbutton > .toolbarbutton-badge-stack {
border-radius: 6px; border-radius: 6px;
} }
#nav-bar toolbarbutton:hover > .toolbarbutton-icon, #nav-bar toolbarbutton:hover > .toolbarbutton-icon,
#nav-bar toolbarbutton:hover > .toolbarbutton-badge-stack { #nav-bar toolbarbutton:hover > .toolbarbutton-badge-stack {
background-color: var(--toolbar-btn-hover) !important; background-color: var(--toolbar-btn-hover) !important;
} }
#back-button { #back-button {
padding-right: 2px !important; padding-right: 2px !important;
padding-left: 2px !important; padding-left: 2px !important;
margin-left: 6px !important; margin-left: 6px !important;
} }
/* Hamburger Menu */ /* Hamburger Menu */
#PanelUI-menu-button { #PanelUI-menu-button {
background-color: var(--secondary) !important; background-color: var(--secondary) !important;
padding-right: 2px !important; padding-right: 2px !important;
margin-right: 6px !important; margin-right: 6px !important;
} }
/* /*
BOOKMARK BUTTONS BOOKMARK BUTTONS
*/ */
#PersonalToolbar toolbarbutton { #PersonalToolbar toolbarbutton {
margin: 3px 0px 3px 3px !important; margin: 3px 0px 3px 3px !important;
border-radius: 4px; border-radius: 4px;
} }
#PersonalToolbar toolbarbutton:hover { #PersonalToolbar toolbarbutton:hover {
background-color: var(--toolbar-btn-hover) !important; background-color: var(--toolbar-btn-hover) !important;
} }
''; '';
userContent = '' userContent = ''
:root { :root {
--background: #1d2021; --background: #1d2021;
--secondary: #282828; --secondary: #282828;
--newtab-body: #32302f; --newtab-body: #32302f;
--foreground: #EBDBB2; --foreground: #EBDBB2;
} }
@-moz-document url-prefix("about:"), url-prefix("about:newtab"), url-prefix("about:home") { @-moz-document url-prefix("about:"), url-prefix("about:newtab"), url-prefix("about:home") {
html, body { html, body {
color: var(--foreground) !important; color: var(--foreground) !important;
background-color: var(--newtab-body) !important; background-color: var(--newtab-body) !important;
} }
} }
''; '';
}; };
}; };
} }

View file

@ -1,4 +1,4 @@
{ ...}: { {...}: {
programs.git = { programs.git = {
enable = true; enable = true;
userEmail = "mail@joygnu.org"; userEmail = "mail@joygnu.org";

View file

@ -1,9 +1,6 @@
{ pkgs, ... }: {pkgs, ...}: let
let
gruvboxPlus = import ./gruvbox-plus.nix {inherit pkgs;}; gruvboxPlus = import ./gruvbox-plus.nix {inherit pkgs;};
in in {
{
home.file = { home.file = {
".local/share/icons/GruvboxPlus".source = "${gruvboxPlus}"; ".local/share/icons/GruvboxPlus".source = "${gruvboxPlus}";
}; };

View file

@ -1,9 +1,7 @@
{pkgs}: {pkgs}: let
let
link = "https://github.com/SylEleuth/gruvbox-plus-icon-pack/releases/download/v3.1/gruvbox-plus-icon-pack-3.1.zip"; link = "https://github.com/SylEleuth/gruvbox-plus-icon-pack/releases/download/v3.1/gruvbox-plus-icon-pack-3.1.zip";
in in
pkgs.stdenv.mkDerivation pkgs.stdenv.mkDerivation
{ {
name = "gruvbox-plus"; name = "gruvbox-plus";

View file

@ -1,13 +1,12 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.helix = { programs.helix = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
settings = { settings = {
keys.normal = { keys.normal = {
space.space = "file_picker"; space.space = "file_picker";
Z.Z = ":wq"; Z.Z = ":wq";
Z.Q = ":q!"; Z.Q = ":q!";
}; };
}; };
}; };
@ -23,6 +22,6 @@
jdt-language-server jdt-language-server
gopls gopls
dockerfile-language-server-nodejs dockerfile-language-server-nodejs
python312Packages.python-lsp-server python312Packages.python-lsp-server
]; ];
} }

View file

@ -1,20 +1,19 @@
{ ... }: {...}: {
{
services.hypridle = { services.hypridle = {
enable = true; enable = true;
settings = { settings = {
listener = [ listener = [
{ {
timeout = 600; timeout = 600;
on-timeout = "hyprctl dispatch dpms off"; on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on"; on-resume = "hyprctl dispatch dpms on";
} }
{ {
timeout = 1200; timeout = 1200;
on-timeout = "systemctl suspend"; on-timeout = "systemctl suspend";
on-resume = "hyprctl dispatch dpms on"; on-resume = "hyprctl dispatch dpms on";
} }
]; ];
};
}; };
};
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
rofi-wayland rofi-wayland
pwvucontrol pwvucontrol
@ -18,23 +17,22 @@
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
settings = { settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
"$scrPath" = "~/nix/home/hyprland/scirpts"; "$scrPath" = "~/nix/home/hyprland/scirpts";
dwindle = { dwindle = {
pseudotile = true; pseudotile = true;
preserve_split = true; preserve_split = true;
}; };
env = [ env = [
"HYPRCURSOR_THEME = Bibata-Modern-Ice" "HYPRCURSOR_THEME = Bibata-Modern-Ice"
"HYPRCURSOR_SIZE = 24" "HYPRCURSOR_SIZE = 24"
"NIXOS_OZONE_WL = 1" "NIXOS_OZONE_WL = 1"
]; ];
xwayland = { xwayland = {
force_zero_scaling = true; force_zero_scaling = true;
}; };
@ -57,6 +55,7 @@
"float,title:^(Bluetooth)(.*)$" "float,title:^(Bluetooth)(.*)$"
"float,title:^(Clocks)(.*)$" "float,title:^(Clocks)(.*)$"
"float,title:^(Network Connections)(.*)$" "float,title:^(Network Connections)(.*)$"
# "opacity 0.3, ^(alacritty)$"
]; ];
gestures = { gestures = {
@ -64,15 +63,14 @@
workspace_swipe_forever = true; workspace_swipe_forever = true;
workspace_swipe_distance = 200; workspace_swipe_distance = 200;
}; };
bind = [ bind = [
# launch Apps # launch Apps
"$mod,TAB, exec, alacritty" "$mod,TAB, exec, alacritty"
"$mod, E, exec, nemo" "$mod, E, exec, nemo"
"$mod, S, exec, firefox" "$mod, S, exec, firefox"
"$mod, X, exec, keepassxc" "$mod, X, exec, keepassxc"
"$mod, M, exec, mw -Y && alacritty -e neomutt" "$mod, M, exec, mw -Y && alacritty -e neomutt"
"$mod, N, exec, alacritty -e newsboat" "$mod, N, exec, alacritty -e newsboat"
"$mod, A, exec, rofi -show drun" "$mod, A, exec, rofi -show drun"
"$mod, F, exec, freetube" "$mod, F, exec, freetube"
@ -81,8 +79,8 @@
"$mod+Shift, Z, exec, grim - | swappy -f -" "$mod+Shift, Z, exec, grim - | swappy -f -"
"$mod, Z, exec, sh ~/nix/home/hyprland/scripts/screen.sh" "$mod, Z, exec, sh ~/nix/home/hyprland/scripts/screen.sh"
"$mod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy" "$mod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy"
# controles # controles
"$mod, Q, killactive" "$mod, Q, killactive"
"$mod, W, togglefloating" "$mod, W, togglefloating"
"$mod, R, togglesplit" "$mod, R, togglesplit"
@ -98,8 +96,8 @@
"$mod, period, exec, cmus-remote --next" "$mod, period, exec, cmus-remote --next"
"$mod, equal, exec, cmus-remote -v +5%" "$mod, equal, exec, cmus-remote -v +5%"
"$mod, minus, exec, cmus-remote -v -5%" "$mod, minus, exec, cmus-remote -v -5%"
# Move focus # Move focus
"$mod, Return, fullscreen" "$mod, Return, fullscreen"
"$mod, H, movefocus, l" "$mod, H, movefocus, l"
"$mod, L, movefocus, r" "$mod, L, movefocus, r"
@ -117,7 +115,7 @@
"$mod SHIFT, L, swapwindow, r" "$mod SHIFT, L, swapwindow, r"
"$mod SHIFT, K, swapwindow, u" "$mod SHIFT, K, swapwindow, u"
"$mod SHIFT, J, swapwindow, d" "$mod SHIFT, J, swapwindow, d"
# Switch workspaces # Switch workspaces
"$mod, 1, workspace, 1" "$mod, 1, workspace, 1"
"$mod, 2, workspace, 2" "$mod, 2, workspace, 2"
@ -129,7 +127,7 @@
"$mod, 8, workspace, 8" "$mod, 8, workspace, 8"
"$mod, 9, workspace, 9" "$mod, 9, workspace, 9"
"$mod, 0, workspace, 10" "$mod, 0, workspace, 10"
# Move active window to a workspace # Move active window to a workspace
"$mod+Shift, 1, movetoworkspace, 1" "$mod+Shift, 1, movetoworkspace, 1"
"$mod+Shift, 2, movetoworkspace, 2" "$mod+Shift, 2, movetoworkspace, 2"
@ -141,7 +139,6 @@
"$mod+Shift, 8, movetoworkspace, 8" "$mod+Shift, 8, movetoworkspace, 8"
"$mod+Shift, 9, movetoworkspace, 9" "$mod+Shift, 9, movetoworkspace, 9"
"$mod+Shift, 0, movetoworkspace, 10" "$mod+Shift, 0, movetoworkspace, 10"
]; ];
bindm = [ bindm = [
@ -159,14 +156,14 @@
]; ];
general = { general = {
gaps_in = 5; gaps_in = 5;
gaps_out = 15; gaps_out = 15;
border_size = 2; border_size = 2;
allow_tearing = false; allow_tearing = false;
layout = "master"; layout = "master";
}; };
misc ={ misc = {
disable_hyprland_logo = true; disable_hyprland_logo = true;
disable_splash_rendering = true; disable_splash_rendering = true;
}; };
@ -182,12 +179,9 @@
}; };
device = { device = {
name= "at-translated-set-2-keyboard"; name = "at-translated-set-2-keyboard";
repeat_rate = "50"; repeat_rate = "50";
}; };
}; };
}; };
} }

View file

@ -1,6 +1,4 @@
{ lib, ... }: {lib, ...}: {
{
home = { home = {
username = "joy"; username = "joy";
homeDirectory = "/home/joy"; homeDirectory = "/home/joy";
@ -8,7 +6,7 @@
sessionVariables = { sessionVariables = {
}; };
}; };
programs.home-manager.enable = true; programs.home-manager.enable = true;
xdg.mimeApps.defaultApplications = { xdg.mimeApps.defaultApplications = {

View file

@ -1,19 +1,18 @@
{ pkgs, ... }: {pkgs, ...}: {
{
# programs.neomutt = { # programs.neomutt = {
# enable = true; # enable = true;
# sidebar.enable = true; # sidebar.enable = true;
# vimKeys = true; # vimKeys = true;
# }; # };
# programs.mbsync = { # programs.mbsync = {
# enable = true; # enable = true;
# }; # };
# programs.msmtp = { # programs.msmtp = {
# enable = true; # enable = true;
# }; # };
home.packages = with pkgs; [ home.packages = with pkgs; [
mutt-wizard mutt-wizard
neomutt neomutt
msmtp msmtp
curl curl

View file

@ -1,6 +1,5 @@
{ ... }: {...}: {
{ programs.newsboat = {
programs.newsboat = {
enable = true; enable = true;
browser = "firefox"; browser = "firefox";
urls = [ urls = [

View file

@ -1,17 +1,19 @@
{ pkgs, lib, ... }:
{ {
pkgs,
lib,
...
}: {
programs.rofi = { programs.rofi = {
enable = true; enable = true;
package = pkgs.rofi-wayland; package = pkgs.rofi-wayland;
theme = lib.mkForce "~/nix/home/rofi/gruvbox-material.rasi"; theme = lib.mkForce "~/nix/home/rofi/gruvbox-material.rasi";
extraConfig = { extraConfig = {
display-ssh = ""; display-ssh = "";
display-run = ""; display-run = "";
display-drun = ""; display-drun = "";
display-window = ""; display-window = "";
display-combi = ""; display-combi = "";
show-icons = true; show-icons = true;
terminal = "alacritty"; terminal = "alacritty";
}; };
}; };

View file

@ -1,6 +1,4 @@
{ pkgs, ... } : {pkgs, ...}: {
{
programs.zsh = { programs.zsh = {
enable = true; enable = true;
syntaxHighlighting.enable = true; syntaxHighlighting.enable = true;
@ -9,7 +7,7 @@
historySubstringSearch.enable = true; historySubstringSearch.enable = true;
dotDir = ".config/zsh"; dotDir = ".config/zsh";
initExtra = "PROMPT='%F{green}%~%f '"; initExtra = "PROMPT='%F{green}%~%f '";
shellAliases = { shellAliases = {
v = "hx"; v = "hx";
cat = "bat"; cat = "bat";
@ -37,6 +35,5 @@
history.size = 1000000; history.size = 1000000;
history.path = ".config/zsh/history"; history.path = ".config/zsh/history";
}; };
} }

View file

@ -1,9 +1,8 @@
{ inputs, ... }: {inputs, ...}: {
{
networking.hostName = "desktop"; networking.hostName = "desktop";
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
services.hardware.openrgb.enable = true; services.hardware.openrgb.enable = true;
imports = [ imports = [
../../modules ../../modules

View file

@ -1,29 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/8c81ac04-9d75-4b58-8abe-3dfdd1b9e6ae"; device = "/dev/disk/by-uuid/8c81ac04-9d75-4b58-8abe-3dfdd1b9e6ae";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/8810-3A12"; device = "/dev/disk/by-uuid/8810-3A12";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,10 +1,14 @@
{ pkgs, lib, ... }:
{ {
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ pkgs,
"steam-original" lib,
"steam" ...
"steam-run" }: {
]; nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"steam-original"
"steam"
"steam-run"
];
programs.steam.enable = true; programs.steam.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
prismlauncher prismlauncher

View file

@ -1,9 +1,12 @@
{ inputs, pkgs, ... }:
{ {
inputs,
pkgs,
...
}: {
networking.hostName = "laptop"; networking.hostName = "laptop";
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
imports = [ imports = [
../../modules ../../modules
./hardware.nix ./hardware.nix

View file

@ -1,31 +1,35 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.availableKernelModules = ["nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/7bc13c8d-91dd-4022-b4a8-624970b94a78"; device = "/dev/disk/by-uuid/7bc13c8d-91dd-4022-b4a8-624970b94a78";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/ABA5-ED78"; device = "/dev/disk/by-uuid/ABA5-ED78";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = ["fmask=0022" "dmask=0022"];
}; };
swapDevices = [ swapDevices = [
{ device = "/swapfile"; } {device = "/swapfile";}
]; ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View file

@ -1,8 +1,7 @@
{ ... }: {...}: {
{
systemd.services.micmute = { systemd.services.micmute = {
description = "Set microphone mute and normal mute LEDs to off"; description = "Set microphone mute and normal mute LEDs to off";
wantedBy = [ "multi-user.target" ]; wantedBy = ["multi-user.target"];
serviceConfig = { serviceConfig = {
ExecStart = "/bin/sh -c 'echo 0 | tee /sys/class/leds/platform::micmute/brightness > /dev/null; echo 0 | tee /sys/class/leds/platform::mute/brightness > /dev/null'"; ExecStart = "/bin/sh -c 'echo 0 | tee /sys/class/leds/platform::micmute/brightness > /dev/null; echo 0 | tee /sys/class/leds/platform::mute/brightness > /dev/null'";
Type = "oneshot"; Type = "oneshot";

View file

@ -1,6 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
boot.binfmt.registrations.appimage = { boot.binfmt.registrations.appimage = {
wrapInterpreterInShell = false; wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run"; interpreter = "${pkgs.appimage-run}/bin/appimage-run";

View file

@ -1,6 +1,4 @@
{ ... }: {...}: {
{
services.blueman.enable = true; services.blueman.enable = true;
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
} }

View file

@ -1,8 +1,6 @@
{ pkgs, ... }: {pkgs, ...}: {
{
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
font-awesome font-awesome
(nerdfonts.override { fonts = [ "FiraCode" ]; }) (nerdfonts.override {fonts = ["FiraCode"];})
]; ];
} }

View file

@ -1,7 +1,4 @@
{ ... }: {...}: {
{
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.enable = true;
@ -11,5 +8,4 @@
systemd.services."getty@tty1".enable = false; systemd.services."getty@tty1".enable = false;
systemd.services."autovt@tty1".enable = false; systemd.services."autovt@tty1".enable = false;
} }

View file

@ -1,6 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
services.pcscd.enable = true; services.pcscd.enable = true;
programs.gnupg.agent = { programs.gnupg.agent = {
enable = true; enable = true;

View file

@ -1,6 +1,8 @@
{ inputs, pkgs, ... }:
{ {
inputs,
pkgs,
...
}: {
home-manager = { home-manager = {
extraSpecialArgs = {inherit inputs;}; extraSpecialArgs = {inherit inputs;};
users = { users = {
@ -11,16 +13,16 @@
users.users.joy = { users.users.joy = {
isNormalUser = true; isNormalUser = true;
description = "joy"; description = "joy";
extraGroups = [ "wheel" "docker" ]; extraGroups = ["wheel" "docker"];
}; };
virtualisation.docker.rootless.enable = true; virtualisation.docker.rootless.enable = true;
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
virtualisation.waydroid.enable = true; virtualisation.waydroid.enable = true;
programs.hyprland.enable = true; programs.hyprland.enable = true;
programs.zsh.enable = true; programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh; users.defaultUserShell = pkgs.zsh;
nix.settings.experimental-features = [ "nix-command" "flakes"]; nix.settings.experimental-features = ["nix-command" "flakes"];
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
services.printing.enable = true; services.printing.enable = true;
time.timeZone = "Europe/Zurich"; time.timeZone = "Europe/Zurich";

View file

@ -1,54 +1,53 @@
{ pkgs, ... }: {pkgs, ...}: {
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
#hackerman #hackerman
fastfetch fastfetch
cmatrix cmatrix
cava cava
nitch nitch
gotop gotop
sl sl
cbonsai cbonsai
pipes pipes
#image/video/music/recording #image/video/music/recording
imv imv
mpv mpv
cmus cmus
obs-studio obs-studio
pulseaudioFull pulseaudioFull
#gui stuff #gui stuff
uget uget
keepassxc keepassxc
vesktop vesktop
signal-desktop signal-desktop
upscayl upscayl
nemo nemo
firefox firefox
bottles bottles
boxbuddy boxbuddy
waydroid waydroid
transmission_4-gtk transmission_4-gtk
teams-for-linux teams-for-linux
#gnome #gnome
gnome-calculator gnome-calculator
gnome-disk-utility gnome-disk-utility
gnome.gnome-clocks gnome.gnome-clocks
#random shit #random shit
htop htop
bat bat
screen screen
tree tree
zip zip
unzip unzip
scrcpy scrcpy
appimage-run appimage-run
yt-dlp yt-dlp
distrobox distrobox
font-awesome font-awesome
lm_sensors lm_sensors
brightnessctl brightnessctl
networkmanagerapplet networkmanagerapplet
ncdu ncdu
git git
]; ];
} }

View file

@ -1,19 +1,17 @@
{ pkgs, ... } : {pkgs, ...}: {
{
systemd = { systemd = {
user.services.polkit-gnome-authentication-agent-1 = { user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1"; description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ]; wantedBy = ["graphical-session.target"];
wants = [ "graphical-session.target" ]; wants = ["graphical-session.target"];
after = [ "graphical-session.target" ]; after = ["graphical-session.target"];
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = 1; RestartSec = 1;
TimeoutStopSec = 10; TimeoutStopSec = 10;
}; };
}; };
}; };
} }

View file

@ -1,6 +1,4 @@
{ ... }: {...}: {
{
services.devmon.enable = true; services.devmon.enable = true;
services.udisks2.enable = true; services.udisks2.enable = true;
services.gvfs.enable = true; services.gvfs.enable = true;

View file

@ -1,6 +1,4 @@
{ ... }: {...}: {
{
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services.pipewire = {

View file

@ -1,13 +1,12 @@
{ ... }: {...}: {
{
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
PasswordAuthentication = false; PasswordAuthentication = false;
AllowUsers = null; AllowUsers = null;
}; };
}; };
users.users.joy = { users.users.joy = {
isNormalUser = true; isNormalUser = true;
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [

View file

@ -1,9 +1,7 @@
{ pkgs, ... }: {pkgs, ...}: {
{
stylix = { stylix = {
enable = true; enable = true;
base16Scheme = { base16Scheme = {
base00 = "282828"; # ---- base00 = "282828"; # ----
base01 = "3c3836"; # --- base01 = "3c3836"; # ---
@ -23,17 +21,17 @@
base0F = "a89984"; # brown base0F = "a89984"; # brown
}; };
image = ./wallpaper.png; image = ./wallpaper.png;
cursor = { cursor = {
name = "Bibata-Modern-Ice"; name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
size = 24; size = 24;
}; };
fonts = { fonts = {
sizes = { sizes = {
applications = 12; applications = 12;
terminal = 14; terminal = 14;
desktop = 12; desktop = 12;
popups = 12; popups = 12;

View file

@ -1,11 +1,9 @@
{ ... }: {...}: {
{
services = { services = {
syncthing = { syncthing = {
enable = true; enable = true;
user = "joy"; user = "joy";
configDir = "/home/joy/.config/syncthing"; configDir = "/home/joy/.config/syncthing";
}; };
}; };
} }

View file

@ -1,7 +1,4 @@
{ inputs, ... }: {inputs, ...}: {
{
system.autoUpgrade = { system.autoUpgrade = {
enable = true; enable = true;
flake = inputs.self.outPath; flake = inputs.self.outPath;
@ -11,7 +8,6 @@
"-L" # print build logs "-L" # print build logs
]; ];
dates = "02:00"; dates = "02:00";
randomizedDelaySec = "45min"; randomizedDelaySec = "45min";
}; };
} }

View file

@ -1,15 +1,13 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.dconf.enable = true; programs.dconf.enable = true;
users.users.joy.extraGroups = [ "libvirtd" ]; users.users.joy.extraGroups = ["libvirtd"];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
virt-manager virt-manager
virt-viewer virt-viewer
spice spice-gtk spice
spice-gtk
spice-protocol spice-protocol
win-virtio win-virtio
win-spice win-spice
@ -23,11 +21,10 @@
qemu = { qemu = {
swtpm.enable = true; swtpm.enable = true;
ovmf.enable = true; ovmf.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ]; ovmf.packages = [pkgs.OVMFFull.fd];
}; };
}; };
spiceUSBRedirection.enable = true; spiceUSBRedirection.enable = true;
}; };
services.spice-vdagentd.enable = true; services.spice-vdagentd.enable = true;
} }