more options
This commit is contained in:
parent
68cf59880c
commit
ae44945de1
|
@ -11,6 +11,18 @@
|
|||
systemd-boot.enable = true;
|
||||
qemu.enable = true;
|
||||
sync-client.enable = true;
|
||||
foot.enable = true;
|
||||
mpv.enable = true;
|
||||
ags.enable = true;
|
||||
firefox.enable = true;
|
||||
clip.enable = true;
|
||||
rofi.enable = true;
|
||||
dunst.enable = true;
|
||||
polkit.enable = true;
|
||||
xdg.enable = true;
|
||||
gdm.enable = true;
|
||||
theme.enable = true;
|
||||
hyprland.enable = true;
|
||||
|
||||
imports = [
|
||||
./hardware.nix
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{username, ...}: {
|
||||
{
|
||||
networking.hostName = "laptop";
|
||||
|
||||
led.enable = true;
|
||||
|
@ -8,9 +8,19 @@
|
|||
systemd-boot.enable = true;
|
||||
qemu.enable = true;
|
||||
sync-client.enable = true;
|
||||
home-manager.users.${username} = {
|
||||
hypridle.enable = true;
|
||||
};
|
||||
foot.enable = true;
|
||||
mpv.enable = true;
|
||||
ags.enable = true;
|
||||
firefox.enable = true;
|
||||
clip.enable = true;
|
||||
rofi.enable = true;
|
||||
dunst.enable = true;
|
||||
polkit.enable = true;
|
||||
xdg.enable = true;
|
||||
gdm.enable = true;
|
||||
theme.enable = true;
|
||||
hyprland.enable = true;
|
||||
|
||||
imports = [
|
||||
./hardware.nix
|
||||
|
|
|
@ -1,20 +1,18 @@
|
|||
{
|
||||
networking.hostName = "server";
|
||||
|
||||
services.logind.lidSwitch = "ignore";
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
sync-server.enable = true;
|
||||
nginx.enable = true;
|
||||
forgejo.enable = true;
|
||||
immich.enable = true;
|
||||
docker.enable = true;
|
||||
|
||||
services.logind.lidSwitch = "ignore";
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
|
||||
imports = [
|
||||
./hardware.nix
|
||||
../../modules/programs
|
||||
../../modules/system
|
||||
../../modules/secrets
|
||||
../../modules/services
|
||||
../../modules
|
||||
];
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
./zoxide
|
||||
./fastfetch
|
||||
./btop
|
||||
./xdg
|
||||
./misc
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{config, ...}: {
|
||||
xdg.userDirs = {
|
||||
enable = true;
|
||||
download = "${config.home.homeDirectory}/dl";
|
||||
desktop = "${config.home.homeDirectory}/dl";
|
||||
};
|
||||
}
|
20
modules/wm/ags/default.nix
Normal file
20
modules/wm/ags/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
username,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
ags.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.ags.enable {
|
||||
home-manager.users.${username} = {
|
||||
imports = [inputs.ags.homeManagerModules.default];
|
||||
programs.ags = {
|
||||
enable = true;
|
||||
configDir = ./bar;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
20
modules/wm/clip/default.nix
Normal file
20
modules/wm/clip/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
username,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
clip.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.clip.enable {
|
||||
home-manager.users.${username} = {
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
services.cliphist.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,23 +1,21 @@
|
|||
{
|
||||
inputs,
|
||||
username,
|
||||
domain,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./gdm
|
||||
./gnome
|
||||
./hyprland
|
||||
./hypridle
|
||||
./foot
|
||||
./mpv
|
||||
./ags
|
||||
./firefox
|
||||
./clip
|
||||
./rofi
|
||||
./dunst
|
||||
./polkit
|
||||
./qt
|
||||
./gtk
|
||||
./xdg
|
||||
./gdm
|
||||
./stylix
|
||||
./misc
|
||||
];
|
||||
home-manager = {
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
inherit username;
|
||||
inherit domain;
|
||||
};
|
||||
users = {
|
||||
"${username}" = import ./home;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
46
modules/wm/dunst/default.nix
Normal file
46
modules/wm/dunst/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
dunst.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.dunst.enable {
|
||||
home-manager.users.${username} = {
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
background = "#282828";
|
||||
foreground = "#D5C4A1";
|
||||
geometry = "300x60-3+200";
|
||||
padding = 8;
|
||||
horizontal_padding = 8;
|
||||
separator_height = 2;
|
||||
frame_width = 4;
|
||||
corner_radius = 5;
|
||||
font = "DejaVuSansMono 12";
|
||||
alignment = "center";
|
||||
vertical_alignment = "center";
|
||||
ellipsize = "middle";
|
||||
ignore_newline = false;
|
||||
};
|
||||
|
||||
urgency_low = {
|
||||
frame_color = "#98971a";
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
frame_color = "#458588";
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
frame_color = "#98971a";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
189
modules/wm/firefox/default.nix
Normal file
189
modules/wm/firefox/default.nix
Normal file
|
@ -0,0 +1,189 @@
|
|||
{
|
||||
inputs,
|
||||
username,
|
||||
domain,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
userChrome = builtins.readFile (./. + "/userChrome");
|
||||
in {
|
||||
options = {
|
||||
firefox.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.firefox.enable {
|
||||
home-manager.users.${username} = {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
profiles.${username} = {
|
||||
userChrome = userChrome;
|
||||
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
|
||||
ublock-origin
|
||||
darkreader
|
||||
libredirect
|
||||
search-by-image
|
||||
terms-of-service-didnt-read
|
||||
istilldontcareaboutcookies
|
||||
decentraleyes
|
||||
mtab
|
||||
];
|
||||
search.engines = {
|
||||
"4get" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://4get.${domain}/web";
|
||||
params = [
|
||||
{
|
||||
name = "s";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
definedAliases = ["@4get"];
|
||||
};
|
||||
};
|
||||
search.force = true;
|
||||
search.default = "4get";
|
||||
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Bookmarks";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Packages";
|
||||
url = "https://search.nixos.org/packages?channel=unstable";
|
||||
}
|
||||
{
|
||||
name = "PR";
|
||||
url = "https://nixpk.gs/pr-tracker.html";
|
||||
}
|
||||
{
|
||||
name = "Homemanager";
|
||||
url = "https://home-manager-options.extranix.com/?query=&release=master";
|
||||
}
|
||||
{
|
||||
name = "Stylix";
|
||||
url = "https://stylix.danth.me/options/nixos.html";
|
||||
}
|
||||
{
|
||||
name = "Git";
|
||||
url = "https://git.${domain}/";
|
||||
}
|
||||
{
|
||||
name = "Syncserver";
|
||||
url = "https://sync.${domain}/";
|
||||
}
|
||||
{
|
||||
name = "Photos";
|
||||
url = "https://immich.${domain}/";
|
||||
}
|
||||
{
|
||||
name = "Translate";
|
||||
url = "https://trans.${domain}/";
|
||||
}
|
||||
{
|
||||
name = "invidious";
|
||||
url = "https://yt.${domain}/";
|
||||
}
|
||||
{
|
||||
name = "Server";
|
||||
url = "https://avoro.eu/cp/clientarea.php?action=productdetails&id=27920";
|
||||
}
|
||||
{
|
||||
name = "Domain";
|
||||
url = "https://ap.www.namecheap.com/domains/list/";
|
||||
}
|
||||
{
|
||||
name = "Github";
|
||||
url = "https://www.github.com";
|
||||
}
|
||||
{
|
||||
name = "Hyprland";
|
||||
url = "https://wiki.hyprland.org/";
|
||||
}
|
||||
{
|
||||
name = "Helix";
|
||||
url = "https://helix-editor.com/";
|
||||
}
|
||||
{
|
||||
name = "Yazi";
|
||||
url = "https://yazi-rs.github.io/docs/installation";
|
||||
}
|
||||
{
|
||||
name = "Monkeytype";
|
||||
url = "https://monkeytype.com/";
|
||||
}
|
||||
{
|
||||
name = "Zophar's Domain";
|
||||
url = "https://www.zophar.net/music";
|
||||
}
|
||||
{
|
||||
name = "Syncthing";
|
||||
url = "http://localhost:8384/";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
settings = {
|
||||
"dom.security.https_only_mode" = true;
|
||||
"browser.download.panel.shown" = true;
|
||||
"identity.fxaccounts.enabled" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
"browser.urlbar.pocket.featureGate" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.shell.checkDefaultBrowser" = false;
|
||||
"browser.shell.defaultBrowserCheckCount" = 1;
|
||||
"privacy.trackingprotection.enabled" = true;
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"browser.uiCustomization.state" = ''
|
||||
{
|
||||
"placements": {
|
||||
"widget-overflow-fixed-list": [],
|
||||
"nav-bar": [
|
||||
"back-button",
|
||||
"forward-button",
|
||||
"stop-reload-button",
|
||||
"urlbar-container",
|
||||
"downloads-button",
|
||||
"ublock0_raymondhill_net-browser-action",
|
||||
"addon_darkreader_org-browser-action",
|
||||
"_testpilot-containers-browser-action"
|
||||
],
|
||||
"toolbar-menubar": [
|
||||
"menubar-items"
|
||||
],
|
||||
"TabsToolbar": [
|
||||
"tabbrowser-tabs",
|
||||
"new-tab-button",
|
||||
"alltabs-button"
|
||||
],
|
||||
"PersonalToolbar": [
|
||||
"personal-bookmarks"
|
||||
]
|
||||
},
|
||||
"seen": [
|
||||
"save-to-pocket-button",
|
||||
"developer-button",
|
||||
"ublock0_raymondhill_net-browser-action",
|
||||
"addon_darkreader_org-browser-action",
|
||||
"_testpilot-containers-browser-action"
|
||||
],
|
||||
"dirtyAreaCache": [
|
||||
"nav-bar",
|
||||
"PersonalToolbar",
|
||||
"toolbar-menubar",
|
||||
"TabsToolbar",
|
||||
"widget-overflow-fixed-list"
|
||||
],
|
||||
"currentVersion": 18,
|
||||
"newElementCount": 4
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
281
modules/wm/firefox/userChrome
Normal file
281
modules/wm/firefox/userChrome
Normal file
|
@ -0,0 +1,281 @@
|
|||
#alltabs-button { display: none !important; }
|
||||
@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
||||
|
||||
:root {
|
||||
--background: #1d2021;
|
||||
--secondary: #282828;
|
||||
--foreground: #EBDBB2;
|
||||
--orange-highlight: #fe8019;
|
||||
--sound-border: #68217A;
|
||||
--separator: #665e54;
|
||||
--toolbar-bgcolor: var(--secondary) !important;
|
||||
--tab: var(--background);
|
||||
--tab-btn: var(--tab-inactive);
|
||||
--tab-inactive: var(--secondary);
|
||||
--tab-btn-inactive: var(--tab-inactive);
|
||||
--tab-hover: #32302f;
|
||||
--tab-btn-hover: #3C3836;
|
||||
--toolbar-btn-hover: #49463f;
|
||||
--url-bar: #3C3836; /* Updated color */
|
||||
--url-focus: #3C3836;
|
||||
--url-bar-item-hover: #6a6257;
|
||||
--sidebar: #3C3836;
|
||||
--sidebar-button-hover: #5A544B;
|
||||
--sidebar-highlight: #458588;
|
||||
}
|
||||
|
||||
.titlebar-buttonbox-container {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.panel-arrowcontainer {
|
||||
background-color: var(--secondary) !important;
|
||||
}
|
||||
|
||||
#PopupAutoComplete,
|
||||
#PopupSearchAutoComplete {
|
||||
background-color: var(--url-focus) !important;
|
||||
color: var(--foreground) !important;
|
||||
}
|
||||
|
||||
panelview {
|
||||
background-color: var(--sidebar) !important;
|
||||
color: var(--foreground) !important;
|
||||
}
|
||||
|
||||
panel[type="autocomplete-richlistbox"] {
|
||||
--panel-background: none !important;
|
||||
border-radius: 4px !important;
|
||||
color: var(--foreground) !important;
|
||||
}
|
||||
|
||||
toolbarseparator,
|
||||
menuseparator {
|
||||
border-color: var(--separator) !important;
|
||||
border-image: none !important;
|
||||
}
|
||||
|
||||
toolbar {
|
||||
background-color: var(--secondary);
|
||||
}
|
||||
|
||||
toolbar#TabsToolbar {
|
||||
background-color: var(--background);
|
||||
}
|
||||
|
||||
toolbar#TabsToolbar:-moz-window-inactive {
|
||||
background-color: var(--toolbar-bgcolor) !important;
|
||||
}
|
||||
|
||||
#titlebar,
|
||||
#titlebar-spacer,
|
||||
#titlebar-buttonbox-container {
|
||||
background-color: var(--background) !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
--tabs-border-color: var(--orange-highlight) !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox::after {
|
||||
border-bottom: 0px !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
#urlbar,
|
||||
#searchbar {
|
||||
box-shadow: none !important;
|
||||
border: none !important;
|
||||
border-radius: 4px;
|
||||
color: var(--foreground) !important;
|
||||
background-color: var(--url-bar) !important;
|
||||
--autocomplete-popup-separator-color: var(--separator) !important;
|
||||
}
|
||||
|
||||
#urlbar-input,
|
||||
#urlbar-input-container {
|
||||
color: var(--foreground) !important;
|
||||
background-color: var(--url-bar) !important;
|
||||
}
|
||||
|
||||
#urlbar:not([open]) #urlbar-input-container:focus-within,
|
||||
#searchbar:focus-within {
|
||||
border: 2px solid var(--orange-highlight) !important;
|
||||
}
|
||||
|
||||
#urlbar:focus-within,
|
||||
#urlbar[open],
|
||||
#urlbar[open] #urlbar-input-container,
|
||||
#urlbar[open] #urlbar-input,
|
||||
#urlbar-input-container:focus-within,
|
||||
#urlbar-input:focus,
|
||||
#urlbar-background,
|
||||
.urlbarView,
|
||||
#searchbar:focus-within,
|
||||
menupop {
|
||||
background-color: var(--url-focus) !important;
|
||||
}
|
||||
|
||||
#searchbar:focus-within {
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
:is(panel, menupopup)::part(content) {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.urlbarView button:hover,
|
||||
#searchbar button:hover,
|
||||
.urlbarView-row:hover .urlbarView-row-inner,
|
||||
.search-autocomplete-richlistbox-popup .autocomplete-richlistitem:hover {
|
||||
background-color: var(--url-bar-item-hover) !important;
|
||||
}
|
||||
|
||||
.urlbarView-row[type="switchtab"] > span {
|
||||
color: var(--orange-highlight) !important;
|
||||
}
|
||||
|
||||
#PopupSearchAutoComplete .autocomplete-richlistitem[selected],
|
||||
.searchbar-engine-one-off-item[selected],
|
||||
.urlbarView-row[selected],
|
||||
.urlbarView-row[aria-selected="true"],
|
||||
.urlbarView-row:not([type="tip"], [type="dynamic"])[selected] > .urlbarView-row-inner,
|
||||
.urlbarView-row-inner[selected] {
|
||||
color: var(--foreground) !important;
|
||||
background-color: var(--sidebar-highlight) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#PersonalToolbar {
|
||||
background-color: var(--secondary) !important;
|
||||
}
|
||||
|
||||
.tab-background[selected="true"] {
|
||||
background-color: transparent !important;
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected="true"]):not([multiselected]) {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.tabbrowser-tab[soundplaying="true"] {
|
||||
--lwt-tab-line-color: var(--sound-border) !important;
|
||||
}
|
||||
|
||||
.tab-content[selected="true"] {
|
||||
border-color: var(--orange-highlight) !important;
|
||||
--sound-border: var(--orange-highlight) !important;
|
||||
}
|
||||
|
||||
.tab-text {
|
||||
color: var(--foreground);
|
||||
}
|
||||
|
||||
tab,
|
||||
#tabbrowser-tabs {
|
||||
background-color: var(--background) !important;
|
||||
color: var(--foreground) !important;
|
||||
}
|
||||
|
||||
tab:-moz-window-inactive,
|
||||
#tabbrowser-tabs:-moz-window-inactive,
|
||||
#nav-bar-customization-target {
|
||||
background-color: var(--secondary) !important;
|
||||
}
|
||||
|
||||
.tabbrowser-tab[selected] {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.tab-loading-burst {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
.tab-content {
|
||||
border-radius: 4px;
|
||||
margin: 5px 0px 5px 0px !important;
|
||||
border: 1px solid transparent !important;
|
||||
}
|
||||
|
||||
.tab-content[selected="true"] {
|
||||
background-color: var(--secondary) !important;
|
||||
color: var(--foreground) !important;
|
||||
border: 1px solid var(--orange-highlight) !important;
|
||||
}
|
||||
|
||||
.tab-content:not([selected="true"]):hover {
|
||||
background-color: var(--tab-hover) !important;
|
||||
}
|
||||
|
||||
toolbarbutton {
|
||||
fill: var(--foreground) !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
#TabsToolbar toolbarbutton {
|
||||
border-radius: 4px;
|
||||
border: 1px solid transparent !important;
|
||||
}
|
||||
|
||||
#alltabs-button > .toolbarbutton-badge-stack,
|
||||
#tabs-newtab-button > .toolbarbutton-icon {
|
||||
background-image: none;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#alltabs-button:hover > .toolbarbutton-badge-stack,
|
||||
#tabs-newtab-button:hover > .toolbarbutton-icon {
|
||||
background-color: var(--tab-btn-hover) !important;
|
||||
}
|
||||
|
||||
#TabsToolbar #firefox-view-button > .toolbarbutton-icon {
|
||||
background-image: none !important;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
#TabsToolbar #firefox-view-button[open] > .toolbarbutton-icon {
|
||||
background-color: var(--secondary) !important;
|
||||
color: var(--foreground) !important;
|
||||
padding: 9px !important;
|
||||
border: 1px solid var(--orange-highlight) !important;
|
||||
}
|
||||
|
||||
#TabsToolbar #firefox-view-button:not([open]):hover > .toolbarbutton-icon {
|
||||
background-color: var(--tab-hover) !important;
|
||||
}
|
||||
|
||||
#nav-bar toolbarbutton > .toolbarbutton-icon,
|
||||
#nav-bar toolbarbutton > .toolbarbutton-badge-stack {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#nav-bar toolbarbutton:hover > .toolbarbutton-icon,
|
||||
#nav-bar toolbarbutton:hover > .toolbarbutton-badge-stack {
|
||||
background-color: var(--toolbar-btn-hover) !important;
|
||||
}
|
||||
|
||||
#back-button {
|
||||
padding-right: 2px !important;
|
||||
padding-left: 2px !important;
|
||||
margin-left: 6px !important;
|
||||
}
|
||||
|
||||
#PanelUI-menu-button {
|
||||
background-color: var(--secondary) !important;
|
||||
padding-right: 2px !important;
|
||||
margin-right: 6px !important;
|
||||
}
|
||||
|
||||
#PersonalToolbar toolbarbutton {
|
||||
margin: 3px 0px 3px 3px !important;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
#PersonalToolbar toolbarbutton:hover {
|
||||
background-color: var(--toolbar-btn-hover) !important;
|
||||
}
|
45
modules/wm/foot/default.nix
Normal file
45
modules/wm/foot/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
foot.enable = lib.mkEnableOption "";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.foot.enable {
|
||||
home-manager.users.${username} = {
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
pad = "2x2";
|
||||
font = "RobotoMono Nerd Font:size=12";
|
||||
};
|
||||
|
||||
colors = {
|
||||
"foreground" = "d5c4a1";
|
||||
"background" = "282828";
|
||||
"regular0" = "282828";
|
||||
"regular1" = "cc241d";
|
||||
"regular2" = "98971a";
|
||||
"regular3" = "d79921";
|
||||
"regular4" = "458588";
|
||||
"regular5" = "b16286";
|
||||
"regular6" = "689d6a";
|
||||
"regular7" = "d5c4a1";
|
||||
"bright0" = "504945";
|
||||
"bright1" = "fb4934";
|
||||
"bright2" = "b8bb26";
|
||||
"bright3" = "fabd2f";
|
||||
"bright4" = "83a598";
|
||||
"bright5" = "d3869b";
|
||||
"bright6" = "8ec07c";
|
||||
"bright7" = "ebdbb2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,4 +1,13 @@
|
|||
{username, ...}: {
|
||||
{
|
||||
username,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
gdm.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.gdm.enable {
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
|
||||
|
@ -7,4 +16,5 @@
|
|||
|
||||
systemd.services."getty@tty1".enable = false;
|
||||
systemd.services."autovt@tty1".enable = false;
|
||||
};
|
||||
}
|
||||
|
|
24
modules/wm/gtk/default.nix
Normal file
24
modules/wm/gtk/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
username,
|
||||
...
|
||||
}: let
|
||||
gruvboxPlus = import ./gruvbox-plus.nix {inherit pkgs;};
|
||||
in {
|
||||
config = lib.mkIf config.theme.enable {
|
||||
home-manager.users.${username} = {
|
||||
home.file = {
|
||||
".local/share/icons/GruvboxPlus".source = "${gruvboxPlus}";
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme.package = gruvboxPlus;
|
||||
iconTheme.name = "GruvboxPlus";
|
||||
gtk2.configLocation = "/home/${username}/.config/gtk-2.0/gtkrc";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{inputs, ...}: {
|
||||
imports = [inputs.ags.homeManagerModules.default];
|
||||
programs.ags = {
|
||||
enable = true;
|
||||
configDir = ./bar;
|
||||
};
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
services.cliphist.enable = true;
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
imports = [
|
||||
./foot
|
||||
./ags
|
||||
./mpv
|
||||
./firefox
|
||||
./clip
|
||||
./rofi
|
||||
./hypridle
|
||||
./dunst
|
||||
./misc
|
||||
./qt
|
||||
./gtk
|
||||
./stylix
|
||||
];
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
background = "#282828";
|
||||
foreground = "#D5C4A1";
|
||||
geometry = "300x60-3+200";
|
||||
padding = 8;
|
||||
horizontal_padding = 8;
|
||||
separator_height = 2;
|
||||
frame_width = 4;
|
||||
corner_radius = 5;
|
||||
font = "DejaVuSansMono 12";
|
||||
alignment = "center";
|
||||
vertical_alignment = "center";
|
||||
ellipsize = "middle";
|
||||
ignore_newline = false;
|
||||
};
|
||||
|
||||
urgency_low = {
|
||||
frame_color = "#98971a";
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
frame_color = "#458588";
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
frame_color = "#98971a";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
pad = "2x2";
|
||||
font = "RobotoMono Nerd Font:size=12";
|
||||
};
|
||||
|
||||
colors = {
|
||||
"foreground" = "d5c4a1";
|
||||
"background" = "282828";
|
||||
"regular0" = "282828";
|
||||
"regular1" = "cc241d";
|
||||
"regular2" = "98971a";
|
||||
"regular3" = "d79921";
|
||||
"regular4" = "458588";
|
||||
"regular5" = "b16286";
|
||||
"regular6" = "689d6a";
|
||||
"regular7" = "d5c4a1";
|
||||
"bright0" = "504945";
|
||||
"bright1" = "fb4934";
|
||||
"bright2" = "b8bb26";
|
||||
"bright3" = "fabd2f";
|
||||
"bright4" = "83a598";
|
||||
"bright5" = "d3869b";
|
||||
"bright6" = "8ec07c";
|
||||
"bright7" = "ebdbb2";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
gruvboxPlus = import ./gruvbox-plus.nix {inherit pkgs;};
|
||||
in {
|
||||
home.file = {
|
||||
".local/share/icons/GruvboxPlus".source = "${gruvboxPlus}";
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme.package = gruvboxPlus;
|
||||
iconTheme.name = "GruvboxPlus";
|
||||
gtk2.configLocation = "${config.home.homeDirectory}/.config/gtk-2.0/gtkrc";
|
||||
};
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
hypridle.enable = lib.mkEnableOption "";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.hypridle.enable {
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
listener = [
|
||||
{
|
||||
timeout = 300;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
{
|
||||
timeout = 600;
|
||||
on-timeout = "systemctl suspend";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
pwvucontrol
|
||||
pulseaudioFull
|
||||
sent
|
||||
imv
|
||||
signal-desktop
|
||||
keepassxc
|
||||
vesktop
|
||||
bottles
|
||||
boxbuddy
|
||||
ferdium
|
||||
drawio
|
||||
obs-studio
|
||||
transmission_4-gtk
|
||||
gnome-clocks
|
||||
gnome-calculator
|
||||
gnome-disk-utility
|
||||
gnome-sound-recorder
|
||||
kdePackages.kdenlive
|
||||
sqlitebrowser
|
||||
];
|
||||
xresources.path = ".config/.Xresources";
|
||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"drawio"
|
||||
];
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
bindings = {
|
||||
x = "add speed 0.1";
|
||||
z = "add speed -0.1";
|
||||
"," = "frame-back-step";
|
||||
"." = "frame-step";
|
||||
space = "cycle-values speed 1 2";
|
||||
DOWN = "add volume -5";
|
||||
UP = "add volume 5";
|
||||
};
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
mpris
|
||||
sponsorblock
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = "adwaita-dark";
|
||||
style.package = pkgs.adwaita-qt;
|
||||
platformTheme.name = "adwaita";
|
||||
};
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
nixpath,
|
||||
...
|
||||
}: {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
theme = "${nixpath}/modules/wm/home/rofi/gruvbox-material.rasi";
|
||||
extraConfig = {
|
||||
display-drun = "";
|
||||
show-icons = true;
|
||||
terminal = "foot";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
username,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
backgroundUrl = "https://wallpapers.joygnu.org/wallpapers/anime/ghibli-japanese-walled-garden.png";
|
||||
backgroundSha256 = "sha256-10Lv25V0RG0mnw/O90DeVchCNWJbdktUADtuI+enEwM=";
|
||||
in {
|
||||
imports = [inputs.stylix.homeManagerModules.stylix];
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
polarity = "dark";
|
||||
targets = {
|
||||
foot.enable = false;
|
||||
rofi.enable = false;
|
||||
dunst.enable = false;
|
||||
helix.enable = false;
|
||||
# gnome.enable = lib.mkForce false;
|
||||
};
|
||||
|
||||
base16Scheme = {
|
||||
base00 = "282828"; # ----
|
||||
base01 = "3c3836"; # ---
|
||||
base02 = "504945"; # --
|
||||
base03 = "665c54"; # -
|
||||
base04 = "bdae93"; # +
|
||||
base05 = "d5c4a1"; # ++
|
||||
base06 = "ebdbb2"; # +++
|
||||
base07 = "fbf1c7"; # ++++
|
||||
base08 = "cc241d"; # red
|
||||
base09 = "fe0819"; # orange
|
||||
base0A = "d79921"; # yellow
|
||||
base0B = "98971a"; # green
|
||||
base0C = "689d6a"; # aqua/cyan
|
||||
base0D = "458588"; # blue
|
||||
base0E = "b16286"; # purple
|
||||
base0F = "a89984"; # brown
|
||||
};
|
||||
|
||||
image = pkgs.fetchurl {
|
||||
url = backgroundUrl;
|
||||
sha256 = backgroundSha256;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
name = "Bibata-Modern-Ice";
|
||||
package = pkgs.bibata-cursors;
|
||||
size = 24;
|
||||
};
|
||||
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["RobotoMono"];};
|
||||
name = "RobotoMono Nerd Font";
|
||||
};
|
||||
sizes = {
|
||||
applications = 12;
|
||||
terminal = 13;
|
||||
desktop = 12;
|
||||
popups = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
32
modules/wm/hypridle/default.nix
Normal file
32
modules/wm/hypridle/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
hypridle.enable = lib.mkEnableOption "";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.hypridle.enable {
|
||||
home-manager.users.${username} = {
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
listener = [
|
||||
{
|
||||
timeout = 300;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
{
|
||||
timeout = 600;
|
||||
on-timeout = "systemctl suspend";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -2,8 +2,14 @@
|
|||
username,
|
||||
nixpath,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
hyprland.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.hyprland.enable {
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
|
@ -161,4 +167,5 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
29
modules/wm/misc/default.nix
Normal file
29
modules/wm/misc/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.hyprland.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
pwvucontrol
|
||||
pulseaudioFull
|
||||
sent
|
||||
imv
|
||||
signal-desktop
|
||||
keepassxc
|
||||
vesktop
|
||||
bottles
|
||||
boxbuddy
|
||||
ferdium
|
||||
obs-studio
|
||||
transmission_4-gtk
|
||||
gnome-clocks
|
||||
gnome-calculator
|
||||
gnome-disk-utility
|
||||
gnome-sound-recorder
|
||||
kdePackages.kdenlive
|
||||
sqlitebrowser
|
||||
];
|
||||
};
|
||||
}
|
31
modules/wm/mpv/default.nix
Normal file
31
modules/wm/mpv/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
username,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
mpv.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.mpv.enable {
|
||||
home-manager.users.${username} = {
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
bindings = {
|
||||
x = "add speed 0.1";
|
||||
z = "add speed -0.1";
|
||||
"," = "frame-back-step";
|
||||
"." = "frame-step";
|
||||
space = "cycle-values speed 1 2";
|
||||
DOWN = "add volume -5";
|
||||
UP = "add volume 5";
|
||||
};
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
mpris
|
||||
sponsorblock
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,4 +1,13 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
polkit.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.polkit.enable {
|
||||
systemd = {
|
||||
user.services.polkit-gnome-authentication-agent-1 = {
|
||||
description = "polkit-gnome-authentication-agent-1";
|
||||
|
@ -14,4 +23,5 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
18
modules/wm/qt/default.nix
Normal file
18
modules/wm/qt/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
username,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.theme.enable {
|
||||
home-manager.users.${username} = {
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = "adwaita-dark";
|
||||
style.package = pkgs.adwaita-qt;
|
||||
platformTheme.name = "adwaita";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
26
modules/wm/rofi/default.nix
Normal file
26
modules/wm/rofi/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
username,
|
||||
pkgs,
|
||||
nixpath,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
rofi.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.rofi.enable {
|
||||
home-manager.users.${username} = {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
theme = "${nixpath}/modules/wm/rofi/gruvbox-material.rasi";
|
||||
extraConfig = {
|
||||
display-drun = "";
|
||||
show-icons = true;
|
||||
terminal = "foot";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
75
modules/wm/stylix/default.nix
Normal file
75
modules/wm/stylix/default.nix
Normal file
|
@ -0,0 +1,75 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
username,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
backgroundUrl = "https://wallpapers.joygnu.org/wallpapers/anime/ghibli-japanese-walled-garden.png";
|
||||
backgroundSha256 = "sha256-10Lv25V0RG0mnw/O90DeVchCNWJbdktUADtuI+enEwM=";
|
||||
in {
|
||||
options = {
|
||||
theme.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.theme.enable {
|
||||
home-manager.users.${username} = {
|
||||
imports = [inputs.stylix.homeManagerModules.stylix];
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
polarity = "dark";
|
||||
targets = {
|
||||
foot.enable = false;
|
||||
rofi.enable = false;
|
||||
dunst.enable = false;
|
||||
helix.enable = false;
|
||||
};
|
||||
|
||||
base16Scheme = {
|
||||
base00 = "282828"; # ----
|
||||
base01 = "3c3836"; # ---
|
||||
base02 = "504945"; # --
|
||||
base03 = "665c54"; # -
|
||||
base04 = "bdae93"; # +
|
||||
base05 = "d5c4a1"; # ++
|
||||
base06 = "ebdbb2"; # +++
|
||||
base07 = "fbf1c7"; # ++++
|
||||
base08 = "cc241d"; # red
|
||||
base09 = "fe0819"; # orange
|
||||
base0A = "d79921"; # yellow
|
||||
base0B = "98971a"; # green
|
||||
base0C = "689d6a"; # aqua/cyan
|
||||
base0D = "458588"; # blue
|
||||
base0E = "b16286"; # purple
|
||||
base0F = "a89984"; # brown
|
||||
};
|
||||
|
||||
image = pkgs.fetchurl {
|
||||
url = backgroundUrl;
|
||||
sha256 = backgroundSha256;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
name = "Bibata-Modern-Ice";
|
||||
package = pkgs.bibata-cursors;
|
||||
size = 24;
|
||||
};
|
||||
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["RobotoMono"];};
|
||||
name = "RobotoMono Nerd Font";
|
||||
};
|
||||
sizes = {
|
||||
applications = 12;
|
||||
terminal = 13;
|
||||
desktop = 12;
|
||||
popups = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
xresources.path = ".config/.Xresources";
|
||||
};
|
||||
};
|
||||
}
|
19
modules/wm/xdg/default.nix
Normal file
19
modules/wm/xdg/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
xdg.enable = lib.mkEnableOption "";
|
||||
};
|
||||
config = lib.mkIf config.xdg.enable {
|
||||
home-manager.users.${username} = {
|
||||
xdg.userDirs = {
|
||||
enable = true;
|
||||
download = "/home/${username}/dl";
|
||||
desktop = "/home/${username}/dl";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue