Compare commits
1 Commits
renovate/l
...
670dc78ddf
Author | SHA1 | Date | |
---|---|---|---|
670dc78ddf |
@ -1,14 +0,0 @@
|
|||||||
name: nix flake check
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- 'renovate/**'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
nix-flake-update:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Install Nix
|
|
||||||
uses: DeterminateSystems/nix-installer-action@main
|
|
||||||
- run: /root/.nix-profile/bin/nix flake check --all-systems
|
|
1118
flake.lock
generated
1118
flake.lock
generated
File diff suppressed because it is too large
Load Diff
40
flake.nix
40
flake.nix
@ -3,28 +3,16 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||||
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|
||||||
lanzaboote = {
|
|
||||||
url = "github:nix-community/lanzaboote";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
sops-nix = {
|
|
||||||
url = "github:Mic92/sops-nix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nur = {
|
|
||||||
url = "github:nix-community/NUR";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
deploy = {
|
deploy = {
|
||||||
url = "github:serokell/deploy-rs";
|
url = "github:serokell/deploy-rs";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
nurpkgs.url = "github:nix-community/NUR";
|
||||||
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
|
lanzaboote.url = "github:nix-community/lanzaboote";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@ -35,6 +23,24 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rycee-nurpkgs = {
|
||||||
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
flake-utils.follows = "flake-utils";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs-f2k = {
|
||||||
|
url = "github:fortuneteller2k/nixpkgs-f2k";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
devenv = {
|
||||||
|
url = "github:cachix/devenv/latest";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = "git+https://git.fuckwit.dev/fuckwit/nixvim";
|
url = "git+https://git.fuckwit.dev/fuckwit/nixvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -76,10 +76,10 @@ in {
|
|||||||
enable = mkEnableOption "Apply personal firefox defaults.";
|
enable = mkEnableOption "Apply personal firefox defaults.";
|
||||||
package = mkPackageOption pkgs "firefox-bin" {};
|
package = mkPackageOption pkgs "firefox-bin" {};
|
||||||
|
|
||||||
extraExtensions = mkOption {
|
extensions = mkOption {
|
||||||
type = types.listOf types.package;
|
type = types.listOf types.package;
|
||||||
default = [];
|
default = defaultExtensions;
|
||||||
description = "Extra Firefox extensions to install.";
|
description = "Firefox extensions to install.";
|
||||||
};
|
};
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
@ -102,8 +102,7 @@ in {
|
|||||||
isDefault = true;
|
isDefault = true;
|
||||||
id = 0;
|
id = 0;
|
||||||
userChrome = builtins.readFile ./userChrome.css;
|
userChrome = builtins.readFile ./userChrome.css;
|
||||||
extensions = defaultExtensions ++ cfg.extraExtensions;
|
inherit (cfg) extensions settings;
|
||||||
inherit (cfg) settings;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,18 +1,29 @@
|
|||||||
{
|
{
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nur,
|
nurpkgs,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
devenv,
|
||||||
nixvim,
|
nixvim,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
pkgs = import nixpkgs rec {
|
pkgs = import nixpkgs rec {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
overlays = [(final: prev: {nixvim = nixvim.packages.${system}.default;}) nur.overlays.default];
|
overlays = [(final: prev: {nixvim = nixvim.packages.${system}.default;}) nurpkgs.overlays.default];
|
||||||
|
};
|
||||||
|
|
||||||
|
nur = import nurpkgs {
|
||||||
|
inherit pkgs;
|
||||||
|
nurpkgs = pkgs;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
work = home-manager.lib.homeManagerConfiguration {
|
work = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit devenv; # TODO: Remove dependency on devenv
|
||||||
|
ff-addons = nur.repos.rycee.firefox-addons;
|
||||||
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
../home-modules/modules-list.nix
|
../home-modules/modules-list.nix
|
||||||
./work
|
./work
|
||||||
|
@ -28,8 +28,6 @@
|
|||||||
./programs
|
./programs
|
||||||
];
|
];
|
||||||
|
|
||||||
services.udiskie.enable = true;
|
|
||||||
|
|
||||||
accounts.email.accounts = {
|
accounts.email.accounts = {
|
||||||
patrick = {
|
patrick = {
|
||||||
primary = true;
|
primary = true;
|
||||||
|
76
home/framework/programs/firefox/userChrome.css
Normal file
76
home/framework/programs/firefox/userChrome.css
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/toolbars_below_content_v2.css made available under Mozilla Public License v. 2.0
|
||||||
|
See the above repository for updates as well as full license text. */
|
||||||
|
|
||||||
|
/* This requires Firefox 133
|
||||||
|
* By default tabs will be the top-most toolbar, but you can set the following pref to move them to bottom:
|
||||||
|
* userchrome.toolbars-below-content.tabs-at-bottom.enabled
|
||||||
|
*/
|
||||||
|
|
||||||
|
#navigator-toolbox{
|
||||||
|
display: contents;
|
||||||
|
--uc-navbar-height: 40px;
|
||||||
|
}
|
||||||
|
:root[uidensity="compact"] #navigator-toolbox{
|
||||||
|
--uc-navbar-height: 34px;
|
||||||
|
}
|
||||||
|
#main-window > body > #browser,
|
||||||
|
.global-notificationbox,
|
||||||
|
#tab-notification-deck,
|
||||||
|
#toolbar-menubar{
|
||||||
|
order: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TabsToolbar{
|
||||||
|
max-height: calc((var(--tab-min-height) + 2 * var(--tab-block-margin,0px)) * var(--multirow-n-rows,1));
|
||||||
|
}
|
||||||
|
#toolbar-menubar,
|
||||||
|
#TabsToolbar{
|
||||||
|
background: inherit !important;
|
||||||
|
}
|
||||||
|
@media (-moz-platform: linux){
|
||||||
|
:root[sizemode="normal"][customtitlebar] #toolbar-menubar{
|
||||||
|
border-top-left-radius: inherit;
|
||||||
|
border-top-right-radius: inherit;
|
||||||
|
}
|
||||||
|
#toolbar-menubar,
|
||||||
|
#TabsToolbar{
|
||||||
|
opacity: 1 !important;
|
||||||
|
will-change: unset !important;
|
||||||
|
}
|
||||||
|
#notification-popup[side="top"]{
|
||||||
|
margin-top: calc(-2 * var(--panel-padding-block) - 40px - 32px - 8.5em) !important;
|
||||||
|
}
|
||||||
|
#permission-popup[side="top"]{
|
||||||
|
margin-top: calc(-2 * var(--panel-padding-block) - 2.5em);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar,
|
||||||
|
#PersonalToolbar{
|
||||||
|
background-image: linear-gradient(var(--toolbar-bgcolor),var(--toolbar-bgcolor)), var(--lwt-additional-images,var(--toolbar-bgimage)) !important;
|
||||||
|
background-position: top,var(--lwt-background-alignment);
|
||||||
|
background-position-y: calc(0px - var(--tab-min-height) - 2*var(--tab-block-margin,0px));
|
||||||
|
background-repeat: repeat,var(--lwt-background-tiling);
|
||||||
|
}
|
||||||
|
:root[lwtheme-image] #nav-bar,
|
||||||
|
:root[lwtheme-image] #PersonalToolbar{
|
||||||
|
background-image: linear-gradient(var(--toolbar-bgcolor),var(--toolbar-bgcolor)),var(--lwt-header-image), var(--lwt-additional-images,var(--toolbar-bgimage)) !important;
|
||||||
|
}
|
||||||
|
#PersonalToolbar{
|
||||||
|
background-position-y: calc(0px - var(--tab-min-height) - 2*var(--tab-block-margin,0px) - var( --uc-navbar-height));
|
||||||
|
}
|
||||||
|
#urlbar[breakout][breakout-extend]{
|
||||||
|
display: flex !important;
|
||||||
|
flex-direction: column-reverse !important;
|
||||||
|
transform: translateY(calc(var(--urlbar-container-height) - 100%));
|
||||||
|
}
|
||||||
|
#urlbar[breakout-extend]:not([usertyping]) > .urlbar-input-container::after{
|
||||||
|
display: flex;
|
||||||
|
content: "";
|
||||||
|
height: calc(var(--urlbar-min-height) - 2px - 2 * var(--urlbar-container-padding));
|
||||||
|
}
|
||||||
|
.urlbarView-body-inner{ border-top-style: none !important; }
|
||||||
|
|
||||||
|
#TabsToolbar{
|
||||||
|
order: 3
|
||||||
|
}
|
@ -28,13 +28,11 @@
|
|||||||
monitor = "";
|
monitor = "";
|
||||||
path = "screenshot";
|
path = "screenshot";
|
||||||
|
|
||||||
blur_passes = 2;
|
blur_passes = 1;
|
||||||
blur_size = 7;
|
blur_size = 7;
|
||||||
noise = 1.17e-2;
|
noise = 1.17e-2;
|
||||||
};
|
};
|
||||||
|
|
||||||
auth.fingerprint.enabled = true;
|
|
||||||
|
|
||||||
label = [
|
label = [
|
||||||
{
|
{
|
||||||
monitor = "";
|
monitor = "";
|
||||||
@ -60,8 +58,8 @@
|
|||||||
monitor = "";
|
monitor = "";
|
||||||
size = "200,50";
|
size = "200,50";
|
||||||
outline_thickness = 2;
|
outline_thickness = 2;
|
||||||
dots_size = 0.2;
|
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||||
dots_spacing = 0.35;
|
dots_spacing = 0.35; # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
dots_center = true;
|
dots_center = true;
|
||||||
outer_color = "rgba(0, 0, 0, 0)";
|
outer_color = "rgba(0, 0, 0, 0)";
|
||||||
inner_color = "rgba(0, 0, 0, 0.2)";
|
inner_color = "rgba(0, 0, 0, 0.2)";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
# devenv,
|
devenv,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home = {
|
home = {
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
with pkgs; [
|
with pkgs; [
|
||||||
age # Modern encryption tool with small explicit keys
|
age # Modern encryption tool with small explicit keys
|
||||||
|
arandr # simple GUI for xrandr
|
||||||
atuin
|
atuin
|
||||||
dig # dns command-line tool
|
dig # dns command-line tool
|
||||||
fd # "find" for files
|
fd # "find" for files
|
||||||
|
# geckodriver # remote controll firefox
|
||||||
|
helix # modal editor
|
||||||
htop # process monitor
|
htop # process monitor
|
||||||
|
hyperfine # command-line benchmarking tool
|
||||||
|
# i3lock # screen locker
|
||||||
imagemagick # selection screenshot stuff
|
imagemagick # selection screenshot stuff
|
||||||
just # just a command runner
|
just # just a command runner
|
||||||
keepassxc # password manager
|
keepassxc # password manager
|
||||||
@ -17,14 +22,21 @@ with pkgs; [
|
|||||||
mtr # traceroute
|
mtr # traceroute
|
||||||
mumble # voice call client
|
mumble # voice call client
|
||||||
ncdu # disk space info (a better du)
|
ncdu # disk space info (a better du)
|
||||||
|
# neovim-unwrapped # best code editor on the planet
|
||||||
networkmanagerapplet # systray applet for NetworkManager
|
networkmanagerapplet # systray applet for NetworkManager
|
||||||
|
# nitrogen # wallpapger manager
|
||||||
|
nushell # A modern shell written in Rust
|
||||||
ouch # painless compression and decompression for your terminal
|
ouch # painless compression and decompression for your terminal
|
||||||
pavucontrol # pulseaudio volume control
|
pavucontrol # pulseaudio volume control
|
||||||
playerctl # music player controller
|
playerctl # music player controller
|
||||||
podman-compose # podman manager
|
podman-compose # podman manager
|
||||||
|
restic # incremental backup tool
|
||||||
ripgrep # fast grep
|
ripgrep # fast grep
|
||||||
|
# rocketchat-desktop # company chat
|
||||||
sops # Mozilla sops (Secrets OPerationS) is an editor of encrypted files
|
sops # Mozilla sops (Secrets OPerationS) is an editor of encrypted files
|
||||||
thunderbird # email client
|
thunderbird # email client
|
||||||
|
# xclip # clipboard support
|
||||||
|
# xsel # clipboard support (also for neovim)
|
||||||
zeal # offline documentation browser
|
zeal # offline documentation browser
|
||||||
zellij # A terminal workspace with batteries included
|
zellij # A terminal workspace with batteries included
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
@ -1,6 +1,106 @@
|
|||||||
{pkgs, ...}: {
|
{
|
||||||
personal.firefox = {
|
pkgs,
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
specialArgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
extensions = with specialArgs.ff-addons; [
|
||||||
|
bitwarden
|
||||||
|
darkreader
|
||||||
|
i-dont-care-about-cookies
|
||||||
|
privacy-badger
|
||||||
|
ublock-origin
|
||||||
|
# tree-style-tab
|
||||||
|
# tridactyl
|
||||||
|
keepassxc-browser
|
||||||
|
];
|
||||||
|
|
||||||
|
userChrome = builtins.readFile ./userChrome.css;
|
||||||
|
|
||||||
|
# ~/.mozilla/firefox/PROFILE_NAME/prefs.js | user.js
|
||||||
|
settings = {
|
||||||
|
"app.normandy.first_run" = false;
|
||||||
|
"app.shield.optoutstudies.enabled" = false;
|
||||||
|
|
||||||
|
# disable updates (pretty pointless with nix)
|
||||||
|
"app.update.channel" = "default";
|
||||||
|
|
||||||
|
"browser.contentblocking.category" = "standard"; # "strict"
|
||||||
|
"browser.ctrlTab.recentlyUsedOrder" = false;
|
||||||
|
|
||||||
|
"browser.download.viewableInternally.typeWasRegistered.svg" = true;
|
||||||
|
"browser.download.viewableInternally.typeWasRegistered.webp" = true;
|
||||||
|
"browser.download.viewableInternally.typeWasRegistered.xml" = true;
|
||||||
|
|
||||||
|
"browser.search.region" = "DE";
|
||||||
|
|
||||||
|
"browser.shell.checkDefaultBrowser" = false;
|
||||||
|
"browser.tabs.loadInBackground" = true;
|
||||||
|
"browser.urlbar.placeholderName" = "EnteEnteLauf";
|
||||||
|
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
||||||
|
|
||||||
|
# disable all the annoying quick actions
|
||||||
|
"browser.urlbar.quickactions.enabled" = false;
|
||||||
|
"browser.urlbar.quickactions.showPrefs" = false;
|
||||||
|
"browser.urlbar.shortcuts.quickactions" = false;
|
||||||
|
"browser.urlbar.suggest.quickactions" = false;
|
||||||
|
|
||||||
|
# disable tab preview on hover
|
||||||
|
"browser.tabs.hoverPreview.enabled" = false;
|
||||||
|
"browser.tabs.hoverPreview.showThumbnails" = false;
|
||||||
|
|
||||||
|
"distribution.searchplugins.defaultLocale" = "en-US";
|
||||||
|
|
||||||
|
"doh-rollout.balrog-migration-done" = true;
|
||||||
|
"doh-rollout.doneFirstRun" = true;
|
||||||
|
|
||||||
|
"general.useragent.locale" = "en-US";
|
||||||
|
|
||||||
|
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
||||||
|
|
||||||
|
"extensions.extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
||||||
|
"extensions.update.enabled" = false;
|
||||||
|
"extensions.webcompat.enable_picture_in_picture_overrides" = true;
|
||||||
|
"extensions.webcompat.enable_shims" = true;
|
||||||
|
"extensions.webcompat.perform_injections" = true;
|
||||||
|
"extensions.webcompat.perform_ua_overrides" = true;
|
||||||
|
|
||||||
|
"privacy.donottrackheader.enabled" = true;
|
||||||
|
|
||||||
|
# Yubikey
|
||||||
|
"security.webauth.u2f" = true;
|
||||||
|
"security.webauth.webauthn" = true;
|
||||||
|
"security.webauth.webauthn_enable_softtoken" = false;
|
||||||
|
"security.webauth.webauthn_enable_usbtoken" = true;
|
||||||
|
|
||||||
|
"network.dns.ipv4OnlyDomains" = "google.com";
|
||||||
|
|
||||||
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||||
|
"layout.word_select.stop_at_punctuation" = false;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraExtensions = with pkgs.nur.repos.rycee.firefox-addons; [keepassxc-browser];
|
|
||||||
|
package = pkgs.firefox-bin;
|
||||||
|
|
||||||
|
profiles = {
|
||||||
|
default = {
|
||||||
|
isDefault = true;
|
||||||
|
id = 0;
|
||||||
|
inherit extensions settings userChrome;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# webapps = {
|
||||||
|
# rocket-chat = {
|
||||||
|
# url = "https://chat.hetzner.company";
|
||||||
|
# id = 1;
|
||||||
|
|
||||||
|
# genericName = "Internet Messenger";
|
||||||
|
# categories = ["Network" "InstantMessaging"];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
88
home/work/programs/firefox/userChrome.css
Normal file
88
home/work/programs/firefox/userChrome.css
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/toolbars_below_content.css made available under Mozilla Public License v. 2.0
|
||||||
|
See the above repository for updates as well as full license text. */
|
||||||
|
|
||||||
|
/* Moves tabs toolbar, bookmarks toolbar and main toolbar to the bottom of the window, and makes tabs be the bottom-most toolbar */
|
||||||
|
|
||||||
|
/* By default, menubar will stay on top with two options to select it's behavior - see below */
|
||||||
|
|
||||||
|
@-moz-document url(chrome://browser/content/browser.xhtml){
|
||||||
|
|
||||||
|
#titlebar{ -moz-appearance: none !important; }
|
||||||
|
|
||||||
|
#navigator-toolbox > div{ display: contents }
|
||||||
|
.global-notificationbox,
|
||||||
|
#mainPopupSet,
|
||||||
|
#browser,
|
||||||
|
#customization-container,
|
||||||
|
#tab-notification-deck{
|
||||||
|
order: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Remove the next row if you want tabs to be the top-most row */
|
||||||
|
#titlebar{
|
||||||
|
order: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toolbar-menubar{
|
||||||
|
position: fixed;
|
||||||
|
display: flex;
|
||||||
|
width: 100vw;
|
||||||
|
top: 0px;
|
||||||
|
-moz-window-dragging: drag;
|
||||||
|
}
|
||||||
|
/* Remove bottom border that won't do anything useful when at bottom of the window */
|
||||||
|
#navigator-toolbox{ border-bottom: none !important; }
|
||||||
|
|
||||||
|
#toolbar-menubar > spacer{ flex-grow: 1 }
|
||||||
|
|
||||||
|
#urlbar[breakout][breakout-extend]{
|
||||||
|
display: flex !important;
|
||||||
|
flex-direction: column-reverse;
|
||||||
|
bottom: 0px !important; /* Change to 3-5 px if using compact_urlbar_megabar.css depending on toolbar density */
|
||||||
|
top: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.urlbarView-body-inner{ border-top-style: none !important; }
|
||||||
|
|
||||||
|
/* Yeah, removes window controls. Likely not wanted on bottom row */
|
||||||
|
#TabsToolbar > .titlebar-buttonbox-container{ display: none }
|
||||||
|
#toolbar-menubar > .titlebar-buttonbox-container{ order: 1000 }
|
||||||
|
|
||||||
|
/* Fix panels sizing */
|
||||||
|
.panel-viewstack{ max-height: unset !important; }
|
||||||
|
|
||||||
|
/* Fullscreen mode support */
|
||||||
|
:root[sizemode="fullscreen"] #navigator-toolbox{ margin-top: 0 !important }
|
||||||
|
:root[sizemode="fullscreen"] #navigator-toolbox[style*="margin-top"]{ visibility: collapse }
|
||||||
|
#fullscr-toggler{ bottom: 0; top: unset !important; }
|
||||||
|
|
||||||
|
/* These three rules exist for compatibility with autohide_toolbox.css */
|
||||||
|
#navigator-toolbox{ bottom: 0px; transform-origin: bottom }
|
||||||
|
#main-window > body > box{ margin-top: 0 !important; }
|
||||||
|
#toolbar-menubar{ z-index: 1; background-color: var(--lwt-accent-color,black); }
|
||||||
|
|
||||||
|
:root[BookmarksToolbarOverlapsBrowser] #navigator-toolbox{
|
||||||
|
margin-block: calc(-1 * var(--bookmarks-toolbar-height)) 0 !important;
|
||||||
|
}
|
||||||
|
:root[BookmarksToolbarOverlapsBrowser] .newTabBrowserPanel{
|
||||||
|
padding-block: 0 var(--bookmarks-toolbar-height) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**************
|
||||||
|
Menubar options - By default, menubar is overlayed on top of web-content
|
||||||
|
***************/
|
||||||
|
|
||||||
|
/* Uncomment the following if you want static menubar on top of the window (make menubar enabled)
|
||||||
|
* Use when menubar is enabled to always show it */
|
||||||
|
|
||||||
|
/*
|
||||||
|
#browser,#customization-container{ padding-top: var(--uc-menubar-spacer,28px) }
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* OR, uncomment the following if you want menubar to appear below content, above tabs toolbar */
|
||||||
|
|
||||||
|
#toolbar-menubar{ position: static; display: flex; margin-top: 0px !important; background-color: transparent }
|
||||||
|
|
||||||
|
/* set to "column-reverse" (without quotes) if you want tabs above menubar with the above option */
|
||||||
|
#titlebar{ flex-direction: column }
|
||||||
|
}
|
@ -1,82 +1,19 @@
|
|||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
services.hypridle = {
|
wayland.windowManager.hyprland = let
|
||||||
enable = true;
|
locker = "${pkgs.swaylock}/bin/swaylock";
|
||||||
|
set-dpms = "${pkgs.hyprland}/bin/hyprctl dispatcher dpms";
|
||||||
settings = {
|
locked-dpms = pkgs.writeShellScript "locked-dpms.sh" ''
|
||||||
general = {
|
${pkgs.swayidle}/bin/swayidle -w \
|
||||||
lock_cmd = "pidof hyprlock || hyprlock";
|
timeout 10 'if pgrep -x swaylock; then ${set-dpms} off; fi' \
|
||||||
};
|
resume '${set-dpms} on'
|
||||||
|
'';
|
||||||
listener = [
|
idle-script = pkgs.writeShellScript "idle-lock.sh" ''
|
||||||
{
|
${pkgs.swayidle}/bin/swayidle -w \
|
||||||
timeout = 300;
|
timeout 300 '${locker} -f' \
|
||||||
on-timeout = "loginctl lock-session";
|
timeout 330 '${set-dpms} off' \
|
||||||
}
|
resume '${set-dpms} on'
|
||||||
{
|
'';
|
||||||
timeout = 330;
|
in {
|
||||||
on-timeout = "hyprctl dispatch dpms off";
|
|
||||||
on-resume = "hyprctl dispatch dpms on";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.hyprlock = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
background = {
|
|
||||||
monitor = "";
|
|
||||||
path = "screenshot";
|
|
||||||
|
|
||||||
blur_passes = 2;
|
|
||||||
blur_size = 7;
|
|
||||||
noise = 1.17e-2;
|
|
||||||
};
|
|
||||||
|
|
||||||
label = [
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "$TIME";
|
|
||||||
color = "rgba(242, 243, 244, 0.75)";
|
|
||||||
font_size = 95;
|
|
||||||
position = "0, 300";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = ''cmd[update:1000] echo $(date +"%A, %B %d")'';
|
|
||||||
color = "rgba(242, 243, 244, 0.75)";
|
|
||||||
font_size = 22;
|
|
||||||
position = "0, 200";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
input-field = {
|
|
||||||
monitor = "";
|
|
||||||
size = "200,50";
|
|
||||||
outline_thickness = 2;
|
|
||||||
dots_size = 0.2;
|
|
||||||
dots_spacing = 0.35;
|
|
||||||
dots_center = true;
|
|
||||||
outer_color = "rgba(0, 0, 0, 0)";
|
|
||||||
inner_color = "rgba(0, 0, 0, 0.2)";
|
|
||||||
font_color = "rgb(111, 45, 104)";
|
|
||||||
fade_on_empty = false;
|
|
||||||
rounding = -1;
|
|
||||||
check_color = "rgb(30, 107, 204)";
|
|
||||||
placeholder_text = ''<i><span foreground="##cdd6f4">Input Password...</span></i>'';
|
|
||||||
hide_input = false;
|
|
||||||
position = "0, -100";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
@ -85,12 +22,16 @@
|
|||||||
exec-once = [
|
exec-once = [
|
||||||
"${pkgs.waybar}/bin/waybar"
|
"${pkgs.waybar}/bin/waybar"
|
||||||
"${pkgs.mako}/bin/mako"
|
"${pkgs.mako}/bin/mako"
|
||||||
|
idle-script
|
||||||
|
locked-dpms
|
||||||
];
|
];
|
||||||
|
|
||||||
monitor = [
|
monitor = [
|
||||||
"eDP-1,1920x1080,0x0,1.333333" # Laptop screen
|
"eDP-1,1920x1080,0x0,1.333333" # Laptop screen
|
||||||
"desc:Dell Inc. DELL P2723DE 79RFH14,2560x1440,1440x0,1"
|
"desc:Dell Inc. DELL P2723DE 79RFH14,2560x1440,1440x0,1"
|
||||||
"desc:Dell Inc. DELL P2723DE 39RFH14,2560x1440,4000x0,1"
|
"desc:Dell Inc. DELL P2723DE 39RFH14,2560x1440,4000x0,1"
|
||||||
|
# "desc:LG Electronics LG ULTRAWIDE 0x000219F2,2560x1080,1440x0,1" # Primary @home
|
||||||
|
# "desc:Fujitsu Siemens Computers GmbH B22W-6 LED YV3U164923,1680x1050,4000x0,1" # Secondary @home
|
||||||
",preferred,auto,1" # Automatically configure everything else
|
",preferred,auto,1" # Automatically configure everything else
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -156,7 +97,7 @@
|
|||||||
"$mod, return, exec, ${pkgs.alacritty}/bin/alacritty"
|
"$mod, return, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||||
"$mod, D, exec, ${pkgs.rofi-wayland}/bin/rofi -show drun"
|
"$mod, D, exec, ${pkgs.rofi-wayland}/bin/rofi -show drun"
|
||||||
"$mod SHIFT, Q, killactive, "
|
"$mod SHIFT, Q, killactive, "
|
||||||
"$mod, L, exec, loginctl lock-session"
|
"$mod, L, exec, ${locker}"
|
||||||
"$mod, V, togglefloating, "
|
"$mod, V, togglefloating, "
|
||||||
"$mod, F, fullscreen, 1"
|
"$mod, F, fullscreen, 1"
|
||||||
"$mod, P, pseudo, # dwindle"
|
"$mod, P, pseudo, # dwindle"
|
||||||
@ -183,6 +124,10 @@
|
|||||||
"$mod, mouse:273, resizewindow"
|
"$mod, mouse:273, resizewindow"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
bindl = [
|
||||||
|
"$mod SHIFT, L, exec, ${locker}"
|
||||||
|
];
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
# KeePassXC
|
# KeePassXC
|
||||||
"float,class:(org.keepassxc.KeePassXC)"
|
"float,class:(org.keepassxc.KeePassXC)"
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
{
|
{
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
nixpkgs-stable,
|
||||||
sops-nix,
|
sops-nix,
|
||||||
|
home-manager,
|
||||||
lanzaboote,
|
lanzaboote,
|
||||||
simple-nixos-mailserver,
|
simple-nixos-mailserver,
|
||||||
inputs,
|
inputs,
|
||||||
|
@ -51,10 +51,8 @@
|
|||||||
services = {
|
services = {
|
||||||
illum.enable = true;
|
illum.enable = true;
|
||||||
fwupd.enable = true;
|
fwupd.enable = true;
|
||||||
fprintd.enable = true; # currently broken
|
fprintd.enable = false; # currently broken
|
||||||
pcscd.enable = true;
|
pcscd.enable = true;
|
||||||
udisks2.enable = true;
|
|
||||||
|
|
||||||
tlp = {
|
tlp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -135,7 +135,7 @@
|
|||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
font-awesome
|
font-awesome
|
||||||
nerd-fonts.fira-mono
|
(nerdfonts.override {fonts = ["FiraMono"];})
|
||||||
mypkgs.comic-mono
|
mypkgs.comic-mono
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -241,10 +241,14 @@ in {
|
|||||||
labels = [
|
labels = [
|
||||||
"ubuntu-latest:docker://node:16-bullseye"
|
"ubuntu-latest:docker://node:16-bullseye"
|
||||||
];
|
];
|
||||||
settings = {
|
# hostPackages = with pkgs; [
|
||||||
runner.capacity = 5;
|
# bash
|
||||||
cache.enabled = false;
|
# coreutils
|
||||||
};
|
# curl
|
||||||
|
# wget
|
||||||
|
# gnused
|
||||||
|
# gitMinimal
|
||||||
|
# ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
self,
|
self,
|
||||||
flake-utils,
|
flake-utils,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
nurpkgs,
|
||||||
deploy,
|
deploy,
|
||||||
home-manager,
|
home-manager,
|
||||||
...
|
...
|
||||||
|
Reference in New Issue
Block a user