overhaul: added new device: thinkpad
This commit is contained in:
parent
4935bdffe3
commit
7bee6bd481
|
@ -281,11 +281,11 @@
|
||||||
"nixvim": "nixvim"
|
"nixvim": "nixvim"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735080250,
|
"lastModified": 1736114968,
|
||||||
"narHash": "sha256-94TdlH78zk6DxRHqSopImLju41MA7g4bp3bFa4J1tfU=",
|
"narHash": "sha256-SLObAEcr36MpD59gdEtRw2t3DDXPepeAHSgOigf+kLg=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "5768956e7375b773abb7e2584f7de1a528fe3a46",
|
"rev": "0256cebaca7690307fbf71b310b8fdb422160210",
|
||||||
"revCount": 11,
|
"revCount": 13,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.4o1x5.dev/4o1x5/neo2005"
|
"url": "https://git.4o1x5.dev/4o1x5/neo2005"
|
||||||
},
|
},
|
|
@ -23,16 +23,17 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
{ self
|
{
|
||||||
, nixpkgs
|
self,
|
||||||
, home-manager
|
nixpkgs,
|
||||||
, nixpkgs-unstable
|
home-manager,
|
||||||
, nixpkgs-last
|
nixpkgs-unstable,
|
||||||
, nvidia-patch
|
nixpkgs-last,
|
||||||
, dttyper
|
nvidia-patch,
|
||||||
, romodoro
|
dttyper,
|
||||||
, neo2005
|
romodoro,
|
||||||
, ...
|
neo2005,
|
||||||
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
@ -47,18 +48,48 @@
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inputs = inputs;
|
inputs = inputs;
|
||||||
user = "grape";
|
user = "grape";
|
||||||
|
# Must be absolute path with no / at the end
|
||||||
|
dotfilepath = "/home/grape/dotfiles";
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
# adding unstable overlay
|
# adding unstable overlay
|
||||||
({ config, pkgs, ... }: {
|
(
|
||||||
nixpkgs.overlays = [
|
{ config, pkgs, ... }:
|
||||||
overlay-unstable
|
{
|
||||||
nvidia-patch.overlays.default
|
nixpkgs.overlays = [
|
||||||
];
|
overlay-unstable
|
||||||
})
|
nvidia-patch.overlays.default
|
||||||
|
];
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
./system/drivers/shitvidia-patch.nix
|
./hosts/strix/configuration.nix
|
||||||
./configuration.nix
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
nixosConfigurations.thinkpad = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
specialArgs = {
|
||||||
|
inputs = inputs;
|
||||||
|
user = "peach";
|
||||||
|
dotfilepath = "/home/peach/dotfiles";
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
(
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
overlay-unstable
|
||||||
|
];
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
./hosts/thinkpad/configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
|
@ -68,6 +99,5 @@
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
164
hosts/strix/configs/firefox.nix
Normal file
164
hosts/strix/configs/firefox.nix
Normal file
|
@ -0,0 +1,164 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
user,
|
||||||
|
dotfilepath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home-manager.users.${user} = {
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
"user" = {
|
||||||
|
isDefault = true;
|
||||||
|
id = 0;
|
||||||
|
|
||||||
|
# TODO fix impurity
|
||||||
|
extraConfig = builtins.readFile "${dotfilepath}/hosts/strix/opt/firefox/user.js"; # custom userjs config
|
||||||
|
userChrome = builtins.readFile "${dotfilepath}/hosts/strix/opt/firefox/userChrome.css"; # browser styles
|
||||||
|
userContent = builtins.readFile "${dotfilepath}/hosts/strix/opt/firefox/userContent.css"; # browser styles
|
||||||
|
|
||||||
|
extensions = with pkgs; [
|
||||||
|
nur.repos.rycee.firefox-addons.ublock-origin
|
||||||
|
nur.repos.rycee.firefox-addons.clearurls # clear tracking urls
|
||||||
|
nur.repos.rycee.firefox-addons.stylus # cool styling for websites
|
||||||
|
nur.repos.rycee.firefox-addons.localcdn # locally stores frameworks such as vue, tailwind ect..
|
||||||
|
nur.repos.rycee.firefox-addons.libredirect # redirects to libre version of spyware sites
|
||||||
|
nur.repos.rycee.firefox-addons.tridactyl # vim like keybinds
|
||||||
|
nur.repos.rycee.firefox-addons.istilldontcareaboutcookies # dismisses cookie banners
|
||||||
|
nur.repos.rycee.firefox-addons.noscript # block js
|
||||||
|
nur.repos.rycee.firefox-addons.tabliss # sexy new tab
|
||||||
|
nur.repos.rycee.firefox-addons.aw-watcher-web # activity watcher
|
||||||
|
nur.repos.rycee.firefox-addons.stylus # styling
|
||||||
|
nur.repos.rycee.firefox-addons.keepassxc-browser # password manager integration
|
||||||
|
];
|
||||||
|
search.force = true;
|
||||||
|
search.order = [
|
||||||
|
"Searxng"
|
||||||
|
"DuckDuckGo"
|
||||||
|
];
|
||||||
|
search.default = "Searxng";
|
||||||
|
search.engines = {
|
||||||
|
"Nix Packages" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/packages";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@np" ];
|
||||||
|
};
|
||||||
|
"Searxng" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.rhscz.eu/";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "q";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"Home Manager" = {
|
||||||
|
definedAliases = [ "@hm" ];
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://home-manager-options.extranix.com/";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "release";
|
||||||
|
value = "release-24.11";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"Youtube" = {
|
||||||
|
definedAliases = [ "@yt" ];
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://www.youtube.com/results";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "search_query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"Nix Options" = {
|
||||||
|
definedAliases = [ "@no" ];
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/options?type=packages";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"Nix Wiki" = {
|
||||||
|
definedAliases = [ "@nw" ];
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://wiki.nixos.org/w/index.php";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "search";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"Rust crates" = {
|
||||||
|
definedAliases = [ "@cr" ];
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://crates.io/search";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "q";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
programs.firejail = {
|
||||||
|
wrappedBinaries = {
|
||||||
|
firefox = {
|
||||||
|
executable = "${pkgs.firefox}/bin/firefox";
|
||||||
|
profile = "${pkgs.firejail}/etc/firejail/firefox.profile";
|
||||||
|
desktop = "${pkgs.firefox}/share/applications/firefox.desktop";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -2,10 +2,11 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
user,
|
user,
|
||||||
|
dotfilepath,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
scripts = "~/.config/scripts";
|
scripts = "${dotfilepath}/scripts";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home-manager.users.${user}.xsession.windowManager.i3 = {
|
home-manager.users.${user}.xsession.windowManager.i3 = {
|
|
@ -6,17 +6,17 @@
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
|
||||||
home-manager.users.${user}.programs.rofi = {
|
home-manager.users.grape.programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = "Jetbrains Mono";
|
font = "Jetbrains Mono";
|
||||||
theme = "/home/grape/.config/rofi/theme.rasi";
|
theme = "/home/${user}/.config/rofi/theme.rasi";
|
||||||
plugins = with pkgs; [
|
plugins = with pkgs; [
|
||||||
rofi-calc
|
rofi-calc
|
||||||
rofi-emoji
|
rofi-emoji
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.${user}.home.file.".config/rofi/theme.rasi" = {
|
home-manager.users.grape.home.file.".config/rofi/theme.rasi" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
text = ''
|
text = ''
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
14
hosts/strix/configs/tmux.nix
Normal file
14
hosts/strix/configs/tmux.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
set -g allow-passthrough on
|
||||||
|
set -g default-shell "${pkgs.zsh}/bin/zsh"
|
||||||
|
set-window-option -g mode-keys vi
|
||||||
|
'';
|
||||||
|
terminal = "screen-256color";
|
||||||
|
#shell = "${pkgs.zsh}/bin/zsh";
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
152
hosts/strix/configuration.nix
Executable file
152
hosts/strix/configuration.nix
Executable file
|
@ -0,0 +1,152 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
# system stuff
|
||||||
|
./system/display.nix
|
||||||
|
./system/sound.nix
|
||||||
|
./system/essentials.nix
|
||||||
|
./system/shell.nix
|
||||||
|
./system/remap.nix
|
||||||
|
./system/ssd.nix
|
||||||
|
|
||||||
|
# rice and other usefull apps
|
||||||
|
./desktop.nix
|
||||||
|
|
||||||
|
# developing tools
|
||||||
|
./dev.nix
|
||||||
|
|
||||||
|
# music
|
||||||
|
./apps/music.nix
|
||||||
|
|
||||||
|
# gayming
|
||||||
|
./gaming.nix
|
||||||
|
|
||||||
|
# communcations apps
|
||||||
|
./apps/communication.nix
|
||||||
|
|
||||||
|
# password manager
|
||||||
|
./apps/keepassxc.nix
|
||||||
|
|
||||||
|
# productivity apps
|
||||||
|
./apps/prod.nix
|
||||||
|
|
||||||
|
# enabling sandboxing and other security measures
|
||||||
|
./system/security.nix
|
||||||
|
|
||||||
|
# file sync
|
||||||
|
./apps/syncthing.nix
|
||||||
|
|
||||||
|
# libreoffice
|
||||||
|
./apps/office.nix
|
||||||
|
|
||||||
|
# node xporter
|
||||||
|
#./configs/prometheus.nix
|
||||||
|
./configs/neofetch.nix
|
||||||
|
./configs/logseq.nix
|
||||||
|
./configs/i3.nix
|
||||||
|
./configs/rofi.nix
|
||||||
|
./configs/picom.nix
|
||||||
|
./configs/polybar.nix
|
||||||
|
./configs/btop.nix
|
||||||
|
./configs/dunst.nix
|
||||||
|
./configs/ollama.nix
|
||||||
|
./configs/vscode.nix
|
||||||
|
./configs/gpu-screen-recorder.nix
|
||||||
|
./configs/firefox.nix
|
||||||
|
./configs/waydroid.nix
|
||||||
|
./configs/element.nix
|
||||||
|
./configs/nvim.nix
|
||||||
|
./configs/node_exporter.nix
|
||||||
|
./configs/tmux.nix
|
||||||
|
|
||||||
|
# terminal
|
||||||
|
#./configs/st.nix # too minimal, most things dont work without a million tweaks
|
||||||
|
#./configs/kitty.nix # uses their own stupid xterm extension...
|
||||||
|
./configs/alacritty.nix # just perfect, tho too much gpu usage
|
||||||
|
|
||||||
|
# apps
|
||||||
|
./apps/graphics.nix
|
||||||
|
|
||||||
|
# other
|
||||||
|
./configs/firewall.nix
|
||||||
|
|
||||||
|
# drivers
|
||||||
|
./system/drivers/shitvidia-patch.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# adding nur
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
||||||
|
inherit pkgs;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# adding flake support
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.users.grape =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
home.stateVersion = "24.11";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"electron-27.3.11"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
# kernel
|
||||||
|
#boot.kernelPackages = pkgs.linuxPackages_xanmod; # Gaming
|
||||||
|
|
||||||
|
#boot.initrd.luks.devices."luks-f7e86dde-55a5-4306-a7c2-cf2d93c9ee0b".device = "/dev/disk/by-uuid/f7e86dde-55a5-4306-a7c2-cf2d93c9ee0b"; # old dead ssd rip 24.07.28
|
||||||
|
boot.initrd.luks.devices."luks-da1b2f8c-877a-4c39-8965-a4af625718c".device =
|
||||||
|
"/dev/disk/by-uuid/da1b2f8c-877a-4c39-8965-a4af6a25718c";
|
||||||
|
|
||||||
|
networking.hostName = "strix";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Budapest";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "hu_HU.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "hu_HU.UTF-8";
|
||||||
|
LC_MEASUREMENT = "hu_HU.UTF-8";
|
||||||
|
LC_MONETARY = "hu_HU.UTF-8";
|
||||||
|
LC_NAME = "hu_HU.UTF-8";
|
||||||
|
LC_NUMERIC = "hu_HU.UTF-8";
|
||||||
|
LC_PAPER = "hu_HU.UTF-8";
|
||||||
|
LC_TELEPHONE = "hu_HU.UTF-8";
|
||||||
|
LC_TIME = "hu_HU.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.grape = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "grape";
|
||||||
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"audio"
|
||||||
|
"docker"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nix.settings.auto-optimise-store = true;
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
}
|
332
hosts/strix/opt/firefox/i2puser.js
Normal file
332
hosts/strix/opt/firefox/i2puser.js
Normal file
|
@ -0,0 +1,332 @@
|
||||||
|
user_pref("accessibility.force_disabled", 1);
|
||||||
|
user_pref("app.normandy.first_run", false);
|
||||||
|
user_pref("app.normandy.api_url", "");
|
||||||
|
user_pref("app.normandy.enabled", false);
|
||||||
|
user_pref("app.normandy.optoutstudies.enabled", false);
|
||||||
|
user_pref("app.shield.optoutstudies.enabled", false);
|
||||||
|
user_pref("app.update.auto", false);
|
||||||
|
user_pref("app.update.BITS.enabled", false);
|
||||||
|
user_pref("app.update.channel", "i2pdbrowser");
|
||||||
|
user_pref("app.update.disable_button.showUpdateHistory", true);
|
||||||
|
user_pref("app.update.enabled", false);
|
||||||
|
user_pref("app.update.interval", 0);
|
||||||
|
user_pref("app.update.service.enabled", false);
|
||||||
|
user_pref("app.update.url", "");
|
||||||
|
user_pref("beacon.enabled", false);
|
||||||
|
pref("breakpad.reportURL", "");
|
||||||
|
user_pref("browser.aboutHomeSnippets.updateUrl", "");
|
||||||
|
user_pref("browser.aboutwelcome.enabled", false);
|
||||||
|
user_pref("browser.cache.disk.capacity", 131072);
|
||||||
|
user_pref("browser.cache.offline.enable", false);
|
||||||
|
user_pref("browser.casting.enabled", false);
|
||||||
|
user_pref("browser.contentblocking.database.enabled", false);
|
||||||
|
user_pref("browser.contentblocking.report.lockwise.enabled", false);
|
||||||
|
user_pref("browser.contentblocking.report.monitor.enabled", false);
|
||||||
|
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
||||||
|
user_pref("browser.discovery.enabled", false);
|
||||||
|
pref("browser.download.manager.retention", 0);
|
||||||
|
user_pref("browser.download.useDownloadDir", false);
|
||||||
|
user_pref("browser.feeds.showFirstRunUI", false);
|
||||||
|
user_pref("browser.fixup.alternate.enabled", false);
|
||||||
|
user_pref("browser.fixup.fallback-to-https", false);
|
||||||
|
user_pref("browser.formfill.enable", false);
|
||||||
|
user_pref("browser.formfill.expire_days", 0);
|
||||||
|
user_pref("browser.messaging-system.whatsNewPanel.enabled", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.asrouterfeed", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.default.sites", "http://i2pd.i2p/,http://333.i2p/,http://inr.i2p/,http://102chan.i2p/,http://flibusta.i2p/,http://fsoc.i2p/,http://lifebox.i2p/,http://onelon.i2p/,http://wiki.ilita.i2p/");
|
||||||
|
user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.snippets", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.showSearch", true);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.telemetry", false);
|
||||||
|
pref("browser.newtabpage.activity-stream.topSitesRows", 2);
|
||||||
|
pref("browser.newtabpage.enhanced", false);
|
||||||
|
pref("browser.newtabpage.introShown", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-addons.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-customize.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-default-browser.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-performance.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-private-browsing.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-screenshots.completed", true);
|
||||||
|
user_pref("browser.pagethumbnails.capturing_disabled", true);
|
||||||
|
user_pref("browser.ping-centre.telemetry", false);
|
||||||
|
user_pref("browser.places.smartBookmarksVersion", -1);
|
||||||
|
pref("browser.places.speculativeConnect.enabled", false);
|
||||||
|
pref("browser.reader.detectedFirstArticle", false);
|
||||||
|
pref("browser.region.network.url", "");
|
||||||
|
pref("browser.region.update.enabled", false);
|
||||||
|
pref("browser.rights.3.shown", true);
|
||||||
|
user_pref("browser.safebrowsing.appRepURL", "");
|
||||||
|
user_pref("browser.safebrowsing.blockedURIs.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.downloads.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.gethashURL", "");
|
||||||
|
user_pref("browser.safebrowsing.keyURL", "localhost");
|
||||||
|
user_pref("browser.safebrowsing.malware.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.malware.reportURL", "");
|
||||||
|
user_pref("browser.safebrowsing.phishing.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.provider.google.appRepURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.google.gethashURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.google.lists", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.google.reportURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.google.updateURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.mozilla.lists", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportErrorURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportGenericURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportMalwareErrorURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportMalwareURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportPhishURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportURL", "");
|
||||||
|
user_pref("browser.safebrowsing.updateURL", "");
|
||||||
|
user_pref("browser.safebrowsing.warning.infoURL", "");
|
||||||
|
user_pref("browser.search.countryCode", "US");
|
||||||
|
user_pref("browser.search.defaultenginename", "YaCy 'legwork'");
|
||||||
|
user_pref("browser.search.defaultenginename.US", "YaCy 'legwork'");
|
||||||
|
user_pref("browser.search.geoSpecificDefaults", false);
|
||||||
|
user_pref("browser.search.geoSpecificDefaults.url", "");
|
||||||
|
user_pref("browser.search.geoip.url", "");
|
||||||
|
user_pref("browser.search.official", false);
|
||||||
|
user_pref("browser.search.order.1", "YaCy 'legwork'");
|
||||||
|
user_pref("browser.search.order.2", "");
|
||||||
|
user_pref("browser.search.order.3", "");
|
||||||
|
user_pref("browser.search.order.US.1", "YaCy 'legwork'");
|
||||||
|
user_pref("browser.search.order.US.2", "");
|
||||||
|
user_pref("browser.search.order.US.3", "");
|
||||||
|
user_pref("browser.search.redirectWindowsSearch", false);
|
||||||
|
user_pref("browser.search.region", "US");
|
||||||
|
user_pref("browser.search.searchEnginesURL", "");
|
||||||
|
user_pref("browser.search.suggest.enabled", false);
|
||||||
|
user_pref("browser.search.update", false);
|
||||||
|
user_pref("browser.send_pings", false);
|
||||||
|
pref("browser.send_pings.require_same_host", true);
|
||||||
|
user_pref("browser.shell.checkDefaultBrowser", false);
|
||||||
|
pref("browser.startup.homepage", "http://i2pd.i2p/");
|
||||||
|
user_pref("browser.startup.homepage_override.mstone", "ignore");
|
||||||
|
user_pref("browser.tabs.closeWindowWithLastTab", false);
|
||||||
|
user_pref("browser.tabs.crashReporting.sendReport", false);
|
||||||
|
user_pref("browser.translation.engine", "");
|
||||||
|
user_pref("browser.uitour.enabled", false);
|
||||||
|
user_pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0);
|
||||||
|
user_pref("browser.urlbar.formatting.enabled", false);
|
||||||
|
user_pref("browser.urlbar.maxRichResults", 12);
|
||||||
|
user_pref("browser.urlbar.speculativeConnect.enabled", false);
|
||||||
|
user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
|
||||||
|
user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
|
||||||
|
user_pref("browser.urlbar.suggest.searches", false);
|
||||||
|
user_pref("browser.urlbar.trimURLs", false);
|
||||||
|
user_pref("browser.usedOnWindows10", false);
|
||||||
|
user_pref("browser.usedOnWindows10.introURL", "");
|
||||||
|
user_pref("camera.control.face_detection.enabled", false);
|
||||||
|
pref("canvas.capturestream.enabled", false);
|
||||||
|
user_pref("captivedetect.canonicalURL", "");
|
||||||
|
pref("clipboard.autocopy", false);
|
||||||
|
user_pref("datareporting.healthreport.about.reportUrl", "");
|
||||||
|
user_pref("datareporting.healthreport.about.reportUrlUnified", "");
|
||||||
|
user_pref("datareporting.healthreport.documentServerURI", "");
|
||||||
|
user_pref("datareporting.healthreport.pendingDeleteRemoteData", true);
|
||||||
|
user_pref("datareporting.healthreport.service.enabled", false);
|
||||||
|
user_pref("datareporting.healthreport.service.firstRun", false);
|
||||||
|
user_pref("datareporting.healthreport.uploadEnabled", false);
|
||||||
|
pref("datareporting.policy.dataSubmissionEnabled", false);
|
||||||
|
pref("datareporting.policy.firstRunTime", "0");
|
||||||
|
pref("datareporting.sessions.current.clean", true);
|
||||||
|
pref("device.sensors.enabled", false);
|
||||||
|
pref("devtools.chrome.enabled", false);
|
||||||
|
pref("devtools.debugger.force-local", true);
|
||||||
|
pref("devtools.debugger.remote-enabled", false);
|
||||||
|
pref("devtools.webide.autoinstallADBHelper", false);
|
||||||
|
pref("devtools.webide.autoinstallFxdtAdapters", false);
|
||||||
|
pref("devtools.webide.enabled", false);
|
||||||
|
user_pref("devtools.whatsnew.enabled", false);
|
||||||
|
user_pref("devtools.whatsnew.feature-enabled", false);
|
||||||
|
pref("dom.allow_cut_copy", false);
|
||||||
|
pref("dom.archivereader.enabled", false);
|
||||||
|
pref("dom.battery.enabled", false);
|
||||||
|
pref("dom.enable_performance", false);
|
||||||
|
pref("dom.enable_user_timing", false);
|
||||||
|
pref("dom.event.clipboardevents.enabled", false);
|
||||||
|
pref("dom.flyweb.enabled", false);
|
||||||
|
pref("dom.gamepad.enabled", false);
|
||||||
|
pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
|
||||||
|
pref("dom.ipc.plugins.reportCrashURL", false);
|
||||||
|
pref("dom.maxHardwareConcurrency", 2);
|
||||||
|
pref("dom.mozTCPSocket.enabled", false);
|
||||||
|
pref("dom.netinfo.enabled", false);
|
||||||
|
pref("dom.network.enabled", false);
|
||||||
|
user_pref("dom.push.enabled", false);
|
||||||
|
user_pref("dom.security.https_first", false);
|
||||||
|
user_pref("dom.security.https_first_pbm", false);
|
||||||
|
pref("dom.telephony.enabled", false);
|
||||||
|
pref("dom.vibrator.enabled", false);
|
||||||
|
pref("dom.vr.enabled", false);
|
||||||
|
pref("dom.webaudio.enabled", false);
|
||||||
|
pref("dom.webnotifications.enabled", false);
|
||||||
|
pref("dom.workers.enabled", false);
|
||||||
|
pref("experiments.enabled", false);
|
||||||
|
pref("experiments.manifest.uri", "");
|
||||||
|
pref("experiments.supported", false);
|
||||||
|
pref("extensions.abuseReport.enabled", false);
|
||||||
|
pref("extensions.autoDisableScopes", 0);
|
||||||
|
pref("extensions.blocklist.enabled", false);
|
||||||
|
pref("extensions.blocklist.url", "");
|
||||||
|
user_pref("extensions.getAddons.cache.enabled", false);
|
||||||
|
user_pref("extensions.getAddons.showPane", false);
|
||||||
|
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
|
||||||
|
pref("extensions.lazarus.showDonateNotification", false);
|
||||||
|
user_pref("extensions.pocket.enabled", false);
|
||||||
|
user_pref("extensions.screenshots.upload-disabled", true);
|
||||||
|
pref("extensions.shownSelectionUI", true);
|
||||||
|
user_pref("extensions.systemAddon.update.enabled", false);
|
||||||
|
user_pref("extensions.systemAddon.update.url", "");
|
||||||
|
pref("extensions.ui.lastCategory", "addons://list/extension");
|
||||||
|
pref("extensions.update.autoUpdateDefault", false);
|
||||||
|
user_pref("extensions.update.enabled", false);
|
||||||
|
pref("full-screen-api.approval-required", false);
|
||||||
|
pref("full-screen-api.warning.timeout", 0);
|
||||||
|
pref("general.buildID.override", "20100101");
|
||||||
|
user_pref("general.platform.override", "Win32");
|
||||||
|
user_pref("general.useragent.locale", "en-US");
|
||||||
|
user_pref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/78.0");
|
||||||
|
pref("general.warnOnAboutConfig", false);
|
||||||
|
user_pref("geo.enabled", false);
|
||||||
|
user_pref("geo.wifi.logging.enabled", false);
|
||||||
|
user_pref("geo.wifi.uri", "");
|
||||||
|
user_pref("identity.fxaccounts.commands.enabled", false);
|
||||||
|
user_pref("identity.fxaccounts.enabled", false);
|
||||||
|
user_pref("intl.locale.matchOS", true);
|
||||||
|
pref("javascript.use_us_english_locale", true);
|
||||||
|
pref("keyword.enabled", false);
|
||||||
|
pref("lightweightThemes.update.enabled", false);
|
||||||
|
pref("loop.logDomains", false);
|
||||||
|
user_pref("marionette.enabled", false);
|
||||||
|
// Allow .i2p domain
|
||||||
|
user_pref("browser.fixup.domainsuffixwhitelist.i2p", true);
|
||||||
|
// disable https only
|
||||||
|
user_pref("dom.security.https_only_mode", false);
|
||||||
|
|
||||||
|
|
||||||
|
user_pref("media.eme.enabled", false);
|
||||||
|
user_pref("media.getusermedia.audiocapture.enabled", false);
|
||||||
|
user_pref("media.getusermedia.screensharing.enabled", false);
|
||||||
|
pref("media.gmp-eme-adobe.enabled", false);
|
||||||
|
user_pref("media.gmp-gmpopenh264.enabled", false);
|
||||||
|
pref("media.gmp-gmpopenh264.provider.enabled", false);
|
||||||
|
pref("media.gmp-manager.cert.checkAttributes", false);
|
||||||
|
pref("media.gmp-manager.url", "");
|
||||||
|
user_pref("media.navigator.enabled", false);
|
||||||
|
user_pref("media.navigator.video.enabled", false);
|
||||||
|
user_pref("media.peerconnection.enabled", false);
|
||||||
|
user_pref("media.peerconnection.ice.default_address_only", true);
|
||||||
|
user_pref("media.peerconnection.ice.no_host", true);
|
||||||
|
user_pref("media.peerconnection.identity.timeout", 1);
|
||||||
|
user_pref("media.peerconnection.turn.disable", true);
|
||||||
|
user_pref("media.peerconnection.use_document_iceservers", false);
|
||||||
|
user_pref("media.video_stats.enabled", false);
|
||||||
|
user_pref("media.webspeech.recognition.enable", false);
|
||||||
|
user_pref("media.webspeech.synth.enabled", false);
|
||||||
|
user_pref("messaging-system.rsexperimentloader.enabled", false);
|
||||||
|
user_pref("network.IDN.whitelist.i2p", true);
|
||||||
|
user_pref("network.IDN_show_punycode", true);
|
||||||
|
user_pref("network.allow-experiments", false);
|
||||||
|
user_pref("network.captive-portal-service.enabled", false);
|
||||||
|
user_pref("network.connectivity-service.enabled", false);
|
||||||
|
pref("network.cookie.prefsMigrated", true);
|
||||||
|
user_pref("network.dns.disableIPv6", true);
|
||||||
|
user_pref("network.dns.disablePrefetchFromHTTPS", true);
|
||||||
|
user_pref("network.dns.disablePrefetch", true);
|
||||||
|
user_pref("network.gio.supported-protocols", "");
|
||||||
|
user_pref("network.http.speculative-parallel-limit", 0);
|
||||||
|
user_pref("network.jar.open-unsafe-types", false);
|
||||||
|
pref("network.manage-offline-status", false);
|
||||||
|
user_pref("network.negotiate-auth.allow-insecure-ntlm-v1", false);
|
||||||
|
user_pref("network.notify.changed", false);
|
||||||
|
pref("network.predictor.enabled", false);
|
||||||
|
pref("network.predictor.enable-prefetch", false);
|
||||||
|
user_pref("network.prefetch-next", false);
|
||||||
|
pref("network.protocol-handler.expose-all", true);
|
||||||
|
user_pref("network.protocol-handler.external-default", false);
|
||||||
|
user_pref("network.protocol-handler.warn-external-default", true);
|
||||||
|
user_pref("network.proxy.allow_bypass", false);
|
||||||
|
user_pref("network.proxy.ftp", "32.54.31.99");
|
||||||
|
user_pref("network.proxy.ftp_port", 4447);
|
||||||
|
user_pref("network.proxy.socks", "32.54.31.99");
|
||||||
|
user_pref("network.proxy.socks_port", 4447);
|
||||||
|
user_pref("network.proxy.socks_version", 5);
|
||||||
|
user_pref("network.proxy.no_proxies_on", "localhost, 127.0.0.1");
|
||||||
|
user_pref("network.proxy.share_proxy_settings", true);
|
||||||
|
user_pref("network.proxy.socks_remote_dns", true);
|
||||||
|
user_pref("network.proxy.ssl", "");
|
||||||
|
user_pref("network.proxy.ssl_port", 0);
|
||||||
|
user_pref("network.proxy.type", 1);
|
||||||
|
pref("network.http.speculative-parallel-limit", 0);
|
||||||
|
user_pref("network.trr.mode", 5);
|
||||||
|
user_pref("pdfjs.disabled", true);
|
||||||
|
user_pref("pdfjs.enableWebGL", false);
|
||||||
|
user_pref("permissions.default.camera", 2);
|
||||||
|
user_pref("permissions.default.desktop-notification", 2);
|
||||||
|
user_pref("permissions.default.geo", 2);
|
||||||
|
user_pref("permissions.default.microphone", 2);
|
||||||
|
user_pref("plugin.default_plugin_disabled", true);
|
||||||
|
user_pref("plugin.state.java", 0);
|
||||||
|
user_pref("plugin.state.libgnome-shell-browser-plugin", 0);
|
||||||
|
user_pref("plugins.click_to_play", true);
|
||||||
|
user_pref("plugins.load_appdir_plugins", false);
|
||||||
|
user_pref("plugins.update.notifyUser", false);
|
||||||
|
user_pref("plugins.update.url", "");
|
||||||
|
pref("privacy.cpd.offlineApps", true);
|
||||||
|
pref("privacy.firstparty.isolate", true);
|
||||||
|
user_pref("privacy.resistFingerprinting", true);
|
||||||
|
pref("privacy.sanitize.timeSpan", 0);
|
||||||
|
user_pref("privacy.spoof_english", 2);
|
||||||
|
user_pref("privacy.trackingprotection.enabled", true);
|
||||||
|
//user_pref("privacy.userContext.enabled", true);
|
||||||
|
user_pref("reader.parse-on-load.enabled", false);
|
||||||
|
user_pref("reader.parse-on-load.force-enabled", false);
|
||||||
|
user_pref("security.insecure_field_warning.contextual.enabled", false);
|
||||||
|
user_pref("security.insecure_password.ui.enabled", false);
|
||||||
|
user_pref("security.ssl.errorReporting.enabled", false);
|
||||||
|
user_pref("security.OCSP.enabled", 0);
|
||||||
|
user_pref("services.blocklist.update_enabled", false);
|
||||||
|
pref("services.settings.server", "");
|
||||||
|
user_pref("services.sync.enabled", false);
|
||||||
|
pref("services.sync.prefs.sync.browser.download.manager.scanWhenDone", false);
|
||||||
|
pref("services.sync.prefs.sync.browser.safebrowsing.enabled", false);
|
||||||
|
pref("services.sync.prefs.sync.browser.search.update", false);
|
||||||
|
pref("services.sync.prefs.sync.extensions.update.enabled", false);
|
||||||
|
pref("signon.autofillForms", false);
|
||||||
|
user_pref("signon.management.page.breach-alerts.enabled", false);
|
||||||
|
user_pref("signon.management.page.vulnerable-passwords.enabled", false);
|
||||||
|
pref("signon.rememberSignons", false);
|
||||||
|
//user_pref("startup.homepage_welcome_url", "http://i2pd.i2p/");
|
||||||
|
pref("startup.homepage_welcome_url.additional", "about:blank");
|
||||||
|
pref("toolkit.coverage.endpoint.base", "");
|
||||||
|
pref("toolkit.coverage.opt-out", true);
|
||||||
|
user_pref("toolkit.telemetry.archive.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.bhrPing.enabled", false);
|
||||||
|
pref("toolkit.telemetry.coverage.opt-out", true);
|
||||||
|
user_pref("toolkit.telemetry.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.optoutSample", false);
|
||||||
|
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
|
||||||
|
user_pref("toolkit.telemetry.server", "");
|
||||||
|
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.unified", false);
|
||||||
|
user_pref("toolkit.telemetry.unifiedIsOptIn", true);
|
||||||
|
user_pref("toolkit.telemetry.updatePing.enabled", true);
|
||||||
|
user_pref("toolkit.winRegisterApplicationRestart", false);
|
||||||
|
user_pref("webgl.disable-extensions", true);
|
||||||
|
user_pref("webgl.disable-fail-if-major-performance-caveat", true);
|
||||||
|
user_pref("webgl.disabled", true);
|
||||||
|
user_pref("webgl.enable-debug-renderer-info", false);
|
||||||
|
user_pref("webgl.min_capability_mode", true);
|
|
@ -17,7 +17,6 @@ in
|
||||||
|
|
||||||
# TODO fix hybrid optimus shit mode... add "intel" for inner display to work
|
# TODO fix hybrid optimus shit mode... add "intel" for inner display to work
|
||||||
services.xserver.videoDrivers = [
|
services.xserver.videoDrivers = [
|
||||||
#"modesetting"
|
|
||||||
"nvidia"
|
"nvidia"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -38,6 +37,5 @@ in
|
||||||
open = false;
|
open = false;
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = pkgs.nvidia-patch.patch-nvenc (pkgs.nvidia-patch.patch-fbc package);
|
package = pkgs.nvidia-patch.patch-nvenc (pkgs.nvidia-patch.patch-fbc package);
|
||||||
#inherit package;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -1,4 +1,10 @@
|
||||||
{ pkgs, config, systemd,user ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
systemd,
|
||||||
|
user,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
|
|
||||||
# enabling firejail for sandboxing
|
# enabling firejail for sandboxing
|
||||||
|
@ -9,11 +15,13 @@
|
||||||
# enabling doas
|
# enabling doas
|
||||||
security.doas.enable = true;
|
security.doas.enable = true;
|
||||||
security.sudo.enable = false;
|
security.sudo.enable = false;
|
||||||
security.doas.extraRules = [{
|
security.doas.extraRules = [
|
||||||
users = [ ${user} ];
|
{
|
||||||
keepEnv = true;
|
users = [ user ];
|
||||||
persist = true;
|
keepEnv = true;
|
||||||
}];
|
persist = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# setting up a polkit
|
# setting up a polkit
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
|
@ -3,11 +3,6 @@
|
||||||
|
|
||||||
users.users.${user}.shell = pkgs.zsh;
|
users.users.${user}.shell = pkgs.zsh;
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
programs.tmux = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.users.${user} = {
|
home-manager.users.${user} = {
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -17,25 +12,22 @@
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
update = "doas nixos-rebuild switch --impure";
|
update = "doas nixos-rebuild switch --impure";
|
||||||
|
|
||||||
# docker
|
# Docker shorthands
|
||||||
dc = "docker compose";
|
dc = "docker compose";
|
||||||
dco = "docker container";
|
dco = "docker container";
|
||||||
dn = "docker network";
|
dn = "docker network";
|
||||||
dv = "docker volume";
|
dv = "docker volume";
|
||||||
code = "codium";
|
code = "codium";
|
||||||
|
|
||||||
# tmux
|
# Tmux shrothands
|
||||||
# https://github.com/gabysbrain/machine_config/blob/master/config/tmux.nix
|
# https://github.com/gabysbrain/machine_config/blob/master/config/tmux.nix
|
||||||
ta = "tmux attach -t";
|
ta = "tmux attach -t";
|
||||||
tad = "tmux attach -d -t";
|
|
||||||
ts = "tmux new-session -s";
|
|
||||||
tl = "tmux list-sessions";
|
tl = "tmux list-sessions";
|
||||||
tkss = "tmux kill-session -t";
|
tks = "tmux kill-session -t";
|
||||||
tt = "tmux new-session -t";
|
tn = "tmux new-session -t";
|
||||||
|
|
||||||
#nix
|
|
||||||
garbage = "nix-collect-garbage -d";
|
|
||||||
#dev = "nix develop --command zsh";
|
#dev = "nix develop --command zsh";
|
||||||
|
|
||||||
dev = ''nix develop "git+file://$(pwd)?submodules=1" --command zsh'';
|
dev = ''nix develop "git+file://$(pwd)?submodules=1" --command zsh'';
|
||||||
|
|
||||||
# ssh
|
# ssh
|
||||||
|
@ -44,7 +36,7 @@
|
||||||
carbon = "ssh root@32.54.31.180";
|
carbon = "ssh root@32.54.31.180";
|
||||||
lime = "ssh root@32.54.31.241";
|
lime = "ssh root@32.54.31.241";
|
||||||
|
|
||||||
# remote deployment
|
# remote deployment for homelab
|
||||||
deploy-carbon = "nixos-rebuild switch --flake .#carbon --target-host root@32.54.31.180 --show-trace";
|
deploy-carbon = "nixos-rebuild switch --flake .#carbon --target-host root@32.54.31.180 --show-trace";
|
||||||
deploy-lime = "nixos-rebuild switch --flake .#lime --target-host root@32.54.31.241 --show-trace";
|
deploy-lime = "nixos-rebuild switch --flake .#lime --target-host root@32.54.31.241 --show-trace";
|
||||||
deploy-pink = "nixos-rebuild switch --flake .#pink --target-host root@32.54.31.99 --show-trace";
|
deploy-pink = "nixos-rebuild switch --flake .#pink --target-host root@32.54.31.99 --show-trace";
|
||||||
|
@ -57,21 +49,17 @@
|
||||||
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
|
# https://discourse.nixos.org/t/tmux-doesnt-use-tmux-config-generated-by-nix/42392/2
|
||||||
|
# for some reason tmux nix doesnt configure tmux right so I have to manually set it's configuration path
|
||||||
|
ZSH_TMUX_CONFIG = "/etc/tmux.conf";
|
||||||
};
|
};
|
||||||
|
|
||||||
antidote = {
|
antidote = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
"marlonrichert/zsh-autocomplete"
|
"marlonrichert/zsh-autocomplete"
|
||||||
"zsh-users/zsh-syntax-highlighting"
|
"zsh-users/zsh-syntax-highlighting"
|
||||||
];
|
];
|
||||||
# Zplug
|
|
||||||
# plugins = [
|
|
||||||
# { name = "marlonrichert/zsh-autocomplete"; }
|
|
||||||
# { name = "zsh-users/zsh-syntax-highlighting"; }
|
|
||||||
# ];
|
|
||||||
#
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
services.smartd = {
|
services.smartd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -15,4 +16,9 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Automount shit, idk
|
||||||
|
services.devmon.enable = true;
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
services.udisks2.enable = true;
|
||||||
}
|
}
|
18
hosts/thinkpad/apps/communication.nix
Executable file
18
hosts/thinkpad/apps/communication.nix
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
programs.steam.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
mumble # voip
|
||||||
|
element-desktop # fully featured matrix client
|
||||||
|
#gomuks # tui matrix client
|
||||||
|
iamb
|
||||||
|
simplex-chat-desktop
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
12
hosts/thinkpad/apps/graphics.nix
Normal file
12
hosts/thinkpad/apps/graphics.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
#krita
|
||||||
|
#gimp
|
||||||
|
#figma-linux
|
||||||
|
#kdenlive
|
||||||
|
|
||||||
|
# video cutting easy
|
||||||
|
losslesscut-bin
|
||||||
|
];
|
||||||
|
}
|
8
hosts/thinkpad/apps/keepassxc.nix
Executable file
8
hosts/thinkpad/apps/keepassxc.nix
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
keepassxc
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
12
hosts/thinkpad/apps/music.nix
Executable file
12
hosts/thinkpad/apps/music.nix
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
{ pkgs, config, ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
playerctl
|
||||||
|
jamesdsp
|
||||||
|
yt-dlp
|
||||||
|
feishin
|
||||||
|
#mpv-unwrapped
|
||||||
|
qpwgraph
|
||||||
|
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
9
hosts/thinkpad/apps/office.nix
Executable file
9
hosts/thinkpad/apps/office.nix
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
libreoffice
|
||||||
|
onlyoffice-bin
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
15
hosts/thinkpad/apps/prod.nix
Executable file
15
hosts/thinkpad/apps/prod.nix
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
{ pkgs, config, inputs, ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
taskwarrior
|
||||||
|
timewarrior
|
||||||
|
logseq
|
||||||
|
#inputs.romodoro.packages.x86_64-linux.default
|
||||||
|
taskwarrior-tui
|
||||||
|
inputs.dttyper.packages.x86_64-linux.default
|
||||||
|
|
||||||
|
# For tracking activity across the whole computer
|
||||||
|
pkgs.last.activitywatch
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
8
hosts/thinkpad/apps/syncthing.nix
Executable file
8
hosts/thinkpad/apps/syncthing.nix
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
services.syncthing = {
|
||||||
|
enable = true;
|
||||||
|
user = "grape";
|
||||||
|
dataDir = "/home/grape/Documents";
|
||||||
|
configDir = "/home/grape/.syncthing";
|
||||||
|
};
|
||||||
|
}
|
41
hosts/thinkpad/configs/alacritty.nix
Normal file
41
hosts/thinkpad/configs/alacritty.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{ pkgs, user, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
home-manager.users.${user}.programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
font.normal = {
|
||||||
|
family = "Jetbrains Mono Nerd font";
|
||||||
|
style = "Regular";
|
||||||
|
};
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
primary.background = "0x1E1E3F";
|
||||||
|
primary.foreground = "0xE1EFFF";
|
||||||
|
|
||||||
|
cursor.text = "0x1E1E3F";
|
||||||
|
cursor.cursor = "0xFAD000";
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
normal.black = "0x000000";
|
||||||
|
normal.red = "0xEC3A37";
|
||||||
|
normal.green = "0x75e44c";
|
||||||
|
normal.yellow = "0xFAD000";
|
||||||
|
normal.blue = "0x6943FF";
|
||||||
|
normal.magenta = "0xFF2C70";
|
||||||
|
normal.cyan = "0x80FCFF";
|
||||||
|
normal.white = "0xFFFFFF";
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright.black = "0x5C5C61";
|
||||||
|
bright.red = "0xEC3A37";
|
||||||
|
bright.green = "0x3AD900";
|
||||||
|
bright.yellow = "0xFAD000";
|
||||||
|
bright.blue = "0x6943FF";
|
||||||
|
bright.magenta = "0xFB94FF";
|
||||||
|
bright.cyan = "0x80FCFF";
|
||||||
|
bright.white = "0x2D2B55";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
8
hosts/thinkpad/configs/btop.nix
Normal file
8
hosts/thinkpad/configs/btop.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, user, ... }:
|
||||||
|
{
|
||||||
|
home-manager.users.${user} = {
|
||||||
|
programs.btop.settings = {
|
||||||
|
theme_background = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
26
hosts/thinkpad/configs/dunst.nix
Normal file
26
hosts/thinkpad/configs/dunst.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ pkgs, user, ... }: {
|
||||||
|
|
||||||
|
home-manager.users.${user}.services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
frame_color = "#1e66f5";
|
||||||
|
separator_color = "frame";
|
||||||
|
};
|
||||||
|
urgency_low = {
|
||||||
|
background = "#191830";
|
||||||
|
foreground = "#FFFFFF";
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = "#191830";
|
||||||
|
foreground = "#FFFFFF";
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
background = "#191830";
|
||||||
|
foreground = "#FFFFFF";
|
||||||
|
frame_color = "#fe640b";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
56
hosts/thinkpad/configs/element.nix
Normal file
56
hosts/thinkpad/configs/element.nix
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
{ pkgs, user, ... }:
|
||||||
|
{
|
||||||
|
# https://github.com/element-hq/element-web/blob/develop/config.sample.json
|
||||||
|
home-manager.users.${user}.home.file.".config/Element/config.json" = {
|
||||||
|
enable = true;
|
||||||
|
text = ''
|
||||||
|
{
|
||||||
|
"default_theme": "Purple",
|
||||||
|
"setting_defaults": {
|
||||||
|
"breadcrumbs": true,
|
||||||
|
"custom_themes": [
|
||||||
|
{
|
||||||
|
"name": "Purple",
|
||||||
|
"is_dark": true,
|
||||||
|
"colors": {
|
||||||
|
"accent-color": "#FAd000",
|
||||||
|
"primary-color": "#FFF",
|
||||||
|
"warning-color": "#ec3a37f5",
|
||||||
|
"sidebar-color": "#192030",
|
||||||
|
"roomlist-background-color": "#131327",
|
||||||
|
"roomlist-text-color": "#FFF",
|
||||||
|
"roomlist-text-secondary-color": "#00ff00",
|
||||||
|
"roomlist-highlights-color": "#00000030",
|
||||||
|
"roomlist-separator-color": "#4d4d4d90",
|
||||||
|
"timeline-background-color": "#191830",
|
||||||
|
"timeline-text-color": "#fff",
|
||||||
|
"secondary-content": "#fff",
|
||||||
|
"tertiary-content": "#7870ab",
|
||||||
|
"quinary-content": "#fad000",
|
||||||
|
"timeline-text-secondary-color": "#FAD000",
|
||||||
|
"timeline-highlights-color": "#00000030",
|
||||||
|
"reaction-row-button-selected-bg-color": "#689d6a",
|
||||||
|
"menu-selected-color": "#fad000",
|
||||||
|
"icon-button-color": "#fad000",
|
||||||
|
"accent": "#689d6a",
|
||||||
|
"alert": "#cc241d",
|
||||||
|
"username-colors": [
|
||||||
|
"#FAD000",
|
||||||
|
"#ff7200",
|
||||||
|
"#35ad68",
|
||||||
|
"#5d37f0",
|
||||||
|
"#80fcff",
|
||||||
|
"#3ad900",
|
||||||
|
"#b362ff",
|
||||||
|
"#fff"
|
||||||
|
],
|
||||||
|
"avatar-background-colors": ["#458588", "#b16286", "#689d6a"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -146,7 +146,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.firejail = {
|
programs.firejail = {
|
||||||
wrappedBinaries = {
|
wrappedBinaries = {
|
||||||
firefox = {
|
firefox = {
|
9
hosts/thinkpad/configs/firewall.nix
Normal file
9
hosts/thinkpad/configs/firewall.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
networking.firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedUDPPorts = [
|
||||||
|
];
|
||||||
|
allowedTCPPorts = [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
18
hosts/thinkpad/configs/gpu-screen-recorder.nix
Normal file
18
hosts/thinkpad/configs/gpu-screen-recorder.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.runCommand "gpu-screen-recorder"
|
||||||
|
{
|
||||||
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||||
|
} ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
makeWrapper ${pkgs.gpu-screen-recorder}/bin/gpu-screen-recorder $out/bin/gpu-screen-recorder \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${pkgs.libglvnd}/lib \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${config.boot.kernelPackages.nvidia_x11}/lib
|
||||||
|
'')
|
||||||
|
# for scripts
|
||||||
|
pkgs.xdotool
|
||||||
|
pkgs.jq
|
||||||
|
pkgs.pulseaudio
|
||||||
|
];
|
||||||
|
}
|
129
hosts/thinkpad/configs/i3.nix
Executable file
129
hosts/thinkpad/configs/i3.nix
Executable file
|
@ -0,0 +1,129 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
user,
|
||||||
|
dotfilepath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
scripts = "${dotfilepath}/scripts";
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.${user}.xsession.windowManager.i3 = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
|
||||||
|
# disable i3 bar
|
||||||
|
bars = [ ];
|
||||||
|
|
||||||
|
# Starting compositor and adding background to xroot via nitrogen
|
||||||
|
startup = [
|
||||||
|
{
|
||||||
|
command = "nitrogen --set-zoom-fill ${dotfilepath}/bg.jpg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "picom -b";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "polybar default";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "polybar bottom";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "aw-server";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "aw-watcher-afk";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "aw-watcher-window";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
# defining alt as modifier
|
||||||
|
modifier = "Mod1";
|
||||||
|
gaps.inner = 12;
|
||||||
|
|
||||||
|
# TODO add colors from variables
|
||||||
|
# colors for focused windows
|
||||||
|
colors.focused = {
|
||||||
|
background = "#FAD000";
|
||||||
|
border = "#FAD000";
|
||||||
|
childBorder = "#FFF";
|
||||||
|
indicator = "#FAD000";
|
||||||
|
text = "#FAD000";
|
||||||
|
};
|
||||||
|
colors.focusedInactive = {
|
||||||
|
background = "#FAD000";
|
||||||
|
border = "#FAD000";
|
||||||
|
childBorder = "#FFF";
|
||||||
|
indicator = "#FAD000";
|
||||||
|
text = "#FAD000";
|
||||||
|
};
|
||||||
|
|
||||||
|
keybindings = lib.mkOptionDefault {
|
||||||
|
|
||||||
|
# application keybinds
|
||||||
|
"mod4+d" = "exec rofi -show drun";
|
||||||
|
"mod4+e" = "exec rofi -show calc";
|
||||||
|
"mod4+f" = "exec rofi -show emoji";
|
||||||
|
|
||||||
|
"mod4+t" = "exec alacritty";
|
||||||
|
"mod4+r" = "exec firefox";
|
||||||
|
"mod4+m" = "exec feishin";
|
||||||
|
"mod4+p" = "exec keepassxc";
|
||||||
|
|
||||||
|
# power off
|
||||||
|
"mod4+Shift+Delete" = "exec shutdown -h now";
|
||||||
|
|
||||||
|
# language settings
|
||||||
|
"mod4+1" = "exec setxkbmap us";
|
||||||
|
"mod4+2" = "exec setxkbmap hu";
|
||||||
|
|
||||||
|
# picom
|
||||||
|
"mod4+o" = "exec ${scripts}/picom_opacity_toggle.sh";
|
||||||
|
|
||||||
|
# screenshot
|
||||||
|
"Print" =
|
||||||
|
"exec scrot '%Y-%m-%d_%H-%M-%S.png' -e 'mv $f ~/Pictures/screenshots && xclip -selection clipboard -t image/png -i ~/Pictures/screenshots/$f'";
|
||||||
|
"Shift+Print" =
|
||||||
|
''exec "NUM=$(echo $RANDOM) maim -s $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png ; cat $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png | xclip -selection clipboard -t image/png"'';
|
||||||
|
|
||||||
|
# PLAYERCTL for mouse
|
||||||
|
"shift+XF86AudioRaiseVolume" = "exec --no-startup-id playerctl volume 0.1+";
|
||||||
|
"shift+XF86AudioLowerVolume" = "exec --no-startup-id playerctl volume 0.1-";
|
||||||
|
"Control+XF86AudioRaiseVolume" = "exec --no-startup-id playerctl position 10+";
|
||||||
|
"Control+XF86AudioLowerVolume" = "exec --no-startup-id playerctl position 10-";
|
||||||
|
"XF86AudioNext" = "exec --no-startup-id playerctl next";
|
||||||
|
"XF86AudioPlay" = "exec --no-startup-id playerctl play-pause";
|
||||||
|
"XF86AudioPrev" = "exec --no-startup-id playerctl previous";
|
||||||
|
|
||||||
|
# PLAYERCTL for keyboard
|
||||||
|
"Mod1+minus" = "exec --no-startup-id playerctl volume 0.1-";
|
||||||
|
"Mod1+plus" = "exec --no-startup-id playerctl volume 0.1+";
|
||||||
|
"Mod1+bracketleft" = "exec --no-startup-id playerctl position 10-";
|
||||||
|
"Mod1+bracketright" = "exec --no-startup-id playerctl position 10+";
|
||||||
|
"Mod1+l" = "exec --no-startup-id playerctl previous";
|
||||||
|
"Mod1+semicolon" = "exec --no-startup-id playerctl play-pause";
|
||||||
|
"Mod1+apostrophe" = "exec --no-startup-id playerctl next";
|
||||||
|
|
||||||
|
# adjusting system mvolume
|
||||||
|
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%";
|
||||||
|
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% ";
|
||||||
|
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||||
|
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# disable stupid and ugly title bars
|
||||||
|
# and for some reason client.active doesnt change the colors...
|
||||||
|
extraConfig = ''
|
||||||
|
default_border pixel 4
|
||||||
|
default_floating_border pixel 1
|
||||||
|
client.focused #FAD000 #285577 #ffffff #FAD000 #FAD000
|
||||||
|
client.focused_inactive #063340 #141414 #000000 #121212 #063340
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
17
hosts/thinkpad/configs/kitty.nix
Normal file
17
hosts/thinkpad/configs/kitty.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{ pkgs, user, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
home-manager.users.${user}.programs.kitty = {
|
||||||
|
|
||||||
|
enable = true;
|
||||||
|
font.name = "Jetbrains Mono Nerd font";
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
enable_audio_bell no
|
||||||
|
window_alert_on_bell no
|
||||||
|
foreground #dddddd
|
||||||
|
background #191830
|
||||||
|
'';
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
22
hosts/thinkpad/configs/logseq.nix
Normal file
22
hosts/thinkpad/configs/logseq.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, user, ... }:
|
||||||
|
{
|
||||||
|
#
|
||||||
|
home-manager.users.${user}.home.file.".logseq/config/plugins.edn" = {
|
||||||
|
enable = true;
|
||||||
|
text = ''
|
||||||
|
{
|
||||||
|
:logseq-journals-calendar {:version "v0.10.10", :repo "xyhp915/logseq-journals-calendar", :effect true, :theme false}
|
||||||
|
:logseq-bullet-threading {:version "v1.1.4", :repo "pengx17/logseq-plugin-bullet-threading", :effect true, :theme false}
|
||||||
|
:logseq-heatmap {:version "v2.4.3", :repo "pengx17/logseq-plugin-heatmap", :effect true, :theme false}
|
||||||
|
:logseq-copy-code-plugin {:version "v1.2.0", :repo "vyleung/logseq-copy-code-plugin", :effect true, :theme false}
|
||||||
|
:logseq-fenced-cope-plus {:version "0.0.9", :repo "xyhp915/logseq-fenced-code-plus", :effect true, :theme false}
|
||||||
|
:logseq-excalidraw {:version "v1.5.1", :repo "haydenull/logseq-plugin-excalidraw", :effect true, :theme false}
|
||||||
|
:logseq-vim-shortcuts {:version "v0.1.22", :repo "vipzhicheng/logseq-plugin-vim-shortcuts", :effect true, :theme false}
|
||||||
|
:logseq-banners-plugin {:version "v3.4.11", :repo "yoyurec/logseq-banners-plugin", :effect true, :theme false}
|
||||||
|
:logseq-plugin-automatic-url-title {:version "v1.1.0", :repo "0x7b1/logseq-plugin-automatic-url-title", :effect true, :theme false}
|
||||||
|
:logseq-bionic-speedreader {:version "1.0.1", :repo "sawhney17/logseq-bionic-speedreader", :effect true, :theme false}
|
||||||
|
:logseq-drawio-plugin {:version "v1.7.0", :repo "lee88688/logseq-drawio-plugin", :effect true, :theme false}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
8
hosts/thinkpad/configs/neofetch.nix
Normal file
8
hosts/thinkpad/configs/neofetch.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, user, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
home-manager.users.${user}.home.file.".config/neofetch/config.conf" = {
|
||||||
|
enable = true;
|
||||||
|
source = ../opt/neofetch.conf;
|
||||||
|
};
|
||||||
|
}
|
6
hosts/thinkpad/configs/nvim.nix
Normal file
6
hosts/thinkpad/configs/nvim.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{ pkgs, inputs, ... }: {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
inputs.neo2005.packages.x86_64-linux.default
|
||||||
|
];
|
||||||
|
}
|
61
hosts/thinkpad/configs/picom.nix
Executable file
61
hosts/thinkpad/configs/picom.nix
Executable file
|
@ -0,0 +1,61 @@
|
||||||
|
{ pkgs, user, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
home-manager.users.${user}.services.picom = {
|
||||||
|
enable = true;
|
||||||
|
backend = "glx";
|
||||||
|
vSync = false; # disable vsync to reduce input delay
|
||||||
|
extraArgs = [
|
||||||
|
"-b"
|
||||||
|
"--experimental-backends"
|
||||||
|
]; # enable deamon mode and experimental backends for blur
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
|
||||||
|
# Blurring
|
||||||
|
blur-method = "dual_kawase";
|
||||||
|
blur-size = 12;
|
||||||
|
blur-strength = 9;
|
||||||
|
blur-background = true;
|
||||||
|
blur-kern = "3x3box";
|
||||||
|
|
||||||
|
blur-background-exclude = [
|
||||||
|
"window_type = 'dock'"
|
||||||
|
"window_type = 'desktop'"
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
"class_g ~= 'slop'"
|
||||||
|
"class_g ~= 'Peek'"
|
||||||
|
];
|
||||||
|
|
||||||
|
opacity-rule = [
|
||||||
|
"80:class_g *= 'st'"
|
||||||
|
"80:class_g *= 'kitty'"
|
||||||
|
"80:class_g *= 'alacritty'"
|
||||||
|
"80:class_g *= 'Alacritty'"
|
||||||
|
"90:class_g *= 'jamesdsp'"
|
||||||
|
"90:class_g *= 'polybar'"
|
||||||
|
"80:class_g *= 'codium'"
|
||||||
|
"80:class_g *= 'code'"
|
||||||
|
"80:class_g *= 'Code'"
|
||||||
|
"80:class_g *= 'Rofi'"
|
||||||
|
"80:class_g *= 'lutris'"
|
||||||
|
"80:class_g *= 'Mumble'"
|
||||||
|
"80:class_g *= 'Feishin'"
|
||||||
|
"80:class_g *= 'feishin'"
|
||||||
|
"80:class_g *= 'Element'"
|
||||||
|
"85:class_g *= 'Logseq'"
|
||||||
|
"85:class_g *= 'Codium'"
|
||||||
|
];
|
||||||
|
|
||||||
|
# rounding
|
||||||
|
corner-radius = 15;
|
||||||
|
round-borders = 1;
|
||||||
|
use-damage = false;
|
||||||
|
|
||||||
|
inactive-opacity = 1.0;
|
||||||
|
frame-opacity = 1.0;
|
||||||
|
inactive-opacity-override = false;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
28
hosts/thinkpad/configs/polybar.nix
Normal file
28
hosts/thinkpad/configs/polybar.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
user,
|
||||||
|
dotfilepath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
script = "${dotfilepath}/scripts";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./polybar/bottom.nix
|
||||||
|
./polybar/top.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.users.${user}.services.polybar = {
|
||||||
|
enable = true;
|
||||||
|
script = "${script}/polybar.sh";
|
||||||
|
|
||||||
|
config = {
|
||||||
|
"global/wm" = {
|
||||||
|
override-redirect = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
125
hosts/thinkpad/configs/polybar/bottom.nix
Normal file
125
hosts/thinkpad/configs/polybar/bottom.nix
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
# todo add this to flake.nix
|
||||||
|
colors = {
|
||||||
|
fg = "#FFFFFF";
|
||||||
|
bg = "#191830";
|
||||||
|
border = "#F72585";
|
||||||
|
warn = "#f00";
|
||||||
|
altfg = "#F72585";
|
||||||
|
|
||||||
|
invisible = "#00400080";
|
||||||
|
|
||||||
|
currentWorkspace = "#FAD000";
|
||||||
|
seperatorColor = "#FAD000";
|
||||||
|
};
|
||||||
|
|
||||||
|
script = "~/dotfiles/scripts";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
home-manager.users.grape.services.polybar = {
|
||||||
|
|
||||||
|
config = {
|
||||||
|
|
||||||
|
"module/cava" = {
|
||||||
|
type = "custom/script";
|
||||||
|
tail = "true";
|
||||||
|
exec = "${script}/cava.sh";
|
||||||
|
format = "%{T2}%{F${colors.bg}}%{F-}%{T-}<label>%{T2}%{F${colors.bg}}%{F-}%{T-}";
|
||||||
|
format-font = 5;
|
||||||
|
label-foreground = "${colors.fg}";
|
||||||
|
label-background = "${colors.bg}";
|
||||||
|
label = " %{T1}%output%%{T-}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/a" = {
|
||||||
|
label = " ";
|
||||||
|
label-foreground = "#FAD000";
|
||||||
|
type = "custom/text";
|
||||||
|
};
|
||||||
|
"module/music-capsule" = {
|
||||||
|
exec = "${script}/music.sh";
|
||||||
|
format = "%{T2}%{F${colors.bg}}%{F-}%{T-}<label>%{T2}%{F${colors.bg}}%{F-}%{T-}";
|
||||||
|
interval = ".5";
|
||||||
|
label-background = "${colors.bg}";
|
||||||
|
type = "custom/script";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/audio-capsule" = {
|
||||||
|
label-muted = "muted";
|
||||||
|
format-volume = "%{T2}%{F#191830}%{F-}%{T-}<label-volume>%{T2}%{F#191830}%{F-}%{T-}";
|
||||||
|
format-muted = "%{T2}%{F#191830}%{F-}%{T-}<label-muted>%{T2}%{F#191830}%{F-}%{T-}";
|
||||||
|
label-muted-foreground = "#FF0";
|
||||||
|
label-volume-background = "#191830";
|
||||||
|
label-muted-background = "#191830";
|
||||||
|
label-volume = "%percentage%%";
|
||||||
|
type = "internal/alsa";
|
||||||
|
use-ui-max = "true";
|
||||||
|
click-right = "pavucontrol";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"module/replay" = {
|
||||||
|
type = "custom/script";
|
||||||
|
exec = "~/.config/scripts/status.sh";
|
||||||
|
interval = 1;
|
||||||
|
label-background = "#191830";
|
||||||
|
format = "%{T2}%{F#191830}%{F-}%{T-}%{B${colors.bg}}%{F${colors.seperatorColor}}REPLAY %{F-}%{B-}<label>%{T2}%{F#191830}%{F-}%{T-}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/wired-network" = {
|
||||||
|
type = "internal/network";
|
||||||
|
interface = "eno2";
|
||||||
|
interval = ".5";
|
||||||
|
format-connected = "%{T2}%{F#191830}%{F-}%{T-}<label-connected>%{T2}%{F#191830}%{F-}%{T-}";
|
||||||
|
format-disconnected = "%{T2}%{F#191830}%{F-}%{T-}<label-disconnected>%{T2}%{F#191830}%{F-}%{T-}";
|
||||||
|
format-packetloss = "<animation-packetloss> <label-connected>";
|
||||||
|
|
||||||
|
label-background = "#191830";
|
||||||
|
label-connected = "%{F${colors.seperatorColor}}%{F-} %downspeed% %{F${colors.seperatorColor}}%{F-} %upspeed%";
|
||||||
|
|
||||||
|
|
||||||
|
label-connected-background = "${colors.bg}";
|
||||||
|
label-disconnected-background = "${colors.bg}";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/wireless-network" = {
|
||||||
|
type = "internal/network";
|
||||||
|
interface = "wlo1";
|
||||||
|
interval = ".5";
|
||||||
|
format-connected = "%{T2}%{F#191830}%{F-}%{T-}<label-connected>%{T2}%{F#191830}%{F-}%{T-}";
|
||||||
|
format-disconnected = "%{T2}%{F#191830}%{F-}%{T-}%{F${colors.warn}}wlo1%{F-}%{T2}%{F#191830}%{F-}%{T-}";
|
||||||
|
label-background = "#191830";
|
||||||
|
label-connected = "%{F${colors.seperatorColor}}%{F-} %downspeed% %{F${colors.seperatorColor}}%{F-} %upspeed%";
|
||||||
|
|
||||||
|
label-connected-background = "${colors.bg}";
|
||||||
|
label-disconnected-background = "${colors.bg}";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
"bar/bottom" = {
|
||||||
|
background = "#00191830";
|
||||||
|
border-color = "#00400080";
|
||||||
|
border-size = "10px";
|
||||||
|
bottom = "true";
|
||||||
|
font-0 = "Jetbrains Mono Nerd font:size=11;3";
|
||||||
|
font-1 = "Jetbrains Mono Nerd font:size=22;5";
|
||||||
|
foreground = "#FFFFFF";
|
||||||
|
height = "34";
|
||||||
|
modules-center = "cava";
|
||||||
|
modules-left = "audio-capsule a music-capsule";
|
||||||
|
modules-right = " wired-network a wireless-network a replay";
|
||||||
|
padding-left = "5";
|
||||||
|
padding-right = "5";
|
||||||
|
radius = "20";
|
||||||
|
width = "100%";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
167
hosts/thinkpad/configs/polybar/top.nix
Normal file
167
hosts/thinkpad/configs/polybar/top.nix
Normal file
|
@ -0,0 +1,167 @@
|
||||||
|
let
|
||||||
|
colors = {
|
||||||
|
fg = "#FFFFFF";
|
||||||
|
bg = "#191830";
|
||||||
|
border = "#F72585";
|
||||||
|
warn = "#f00";
|
||||||
|
altfg = "#F72585";
|
||||||
|
|
||||||
|
invisible = "#00400080";
|
||||||
|
|
||||||
|
currentWorkspace = "#FAD000";
|
||||||
|
seperatorColor = "#FAD000";
|
||||||
|
};
|
||||||
|
script = "~/.config/scripts";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
home-manager.users.grape.services.polybar = {
|
||||||
|
|
||||||
|
config = {
|
||||||
|
"module/date" = {
|
||||||
|
type = "internal/date";
|
||||||
|
font-1 = "Jetbrains Mono Nerd font";
|
||||||
|
interval = 1;
|
||||||
|
time = "%I:%M:%S";
|
||||||
|
date = "%Y-%m-%d%";
|
||||||
|
label = "%time% %date%";
|
||||||
|
format = "%{T2}%{F${colors.bg}}%{F-}%{T-}<label>%{T2}%{F${colors.bg}}%{F-}%{T-}";
|
||||||
|
label-foreground = "${colors.fg}";
|
||||||
|
label-background = "${colors.fg}";
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO include labels right into format for each module instea dof having a different module
|
||||||
|
|
||||||
|
"module/fs-label-system" = {
|
||||||
|
type = "custom/text";
|
||||||
|
label = "SYS ";
|
||||||
|
label-foreground = "${colors.seperatorColor}";
|
||||||
|
};
|
||||||
|
"module/fs-label-data" = {
|
||||||
|
type = "custom/text";
|
||||||
|
label = "DAT ";
|
||||||
|
label-foreground = "${ colors. seperatorColor}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/ewmh" = {
|
||||||
|
type = "internal/xworkspaces";
|
||||||
|
pin-workspaces = false;
|
||||||
|
label-active-foreground = "${colors.currentWorkspace}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/cpu-temp" = {
|
||||||
|
base-temperature = "20";
|
||||||
|
format = "%{T2}%{F#191830}%{F-}%{T-}%{B#191830}%{F#FAD000}CPU %{F-}<label>%{B-}";
|
||||||
|
format-warn = "%{T2}%{F#191830}%{F-}%{T-}%{B#191830}%{F#FAD000}CPU %{F-}<label-warn>%{B-}";
|
||||||
|
hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input";
|
||||||
|
label-background = "#191830";
|
||||||
|
label-foreground = "#FFFFFF";
|
||||||
|
label-warn-foreground = "#f00";
|
||||||
|
label = "%temperature% ";
|
||||||
|
thermal-zone = 0;
|
||||||
|
type = "internal/temperature";
|
||||||
|
warn-temperature = 85;
|
||||||
|
zone-type = "x86_pkg_temp";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/cpu-usage" = {
|
||||||
|
type = "internal/cpu";
|
||||||
|
interval = "1.5";
|
||||||
|
label = "CPU %percentage%%";
|
||||||
|
format = "%{T2}%{F#191830}%{F-}%{T-}%{B${colors.bg}}<label>";
|
||||||
|
label-foreground = "${colors.fg}";
|
||||||
|
label-background = "${colors.fg}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/gpu-temp" = {
|
||||||
|
type = "custom/script";
|
||||||
|
interval = "1.5";
|
||||||
|
exec = "nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits";
|
||||||
|
format = "%{T2}%{F#191830}%{F-}%{T-}%{B${colors.bg}}%{F${colors.seperatorColor}}GPU %{F-}%{B-}<label>";
|
||||||
|
label-foreground = colors.fg;
|
||||||
|
format-suffix = "°C ";
|
||||||
|
};
|
||||||
|
"module/gpu-usage" = {
|
||||||
|
type = "custom/script";
|
||||||
|
interval = "1.5";
|
||||||
|
exec = "nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits";
|
||||||
|
format = "<label> mb%{T2}%{F#191830}%{F-}%{T-}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/memory" = {
|
||||||
|
type = "internal/memory";
|
||||||
|
interval = 1;
|
||||||
|
format = "%{F${colors.seperatorColor}}RAM%{F-} <label>";
|
||||||
|
label = "%used%";
|
||||||
|
label-warn = "%used%";
|
||||||
|
warn-percentage = 60;
|
||||||
|
label-warn-foreground = "${colors.warn}";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
"fs-base" = {
|
||||||
|
type = "internal/fs";
|
||||||
|
label-unmounted = "?";
|
||||||
|
format-prefix-foreground = "${colors.fg}";
|
||||||
|
warn-precentage = "80%";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
"module/fs-system" = {
|
||||||
|
"inherit" = "fs-base";
|
||||||
|
mount-0 = "/";
|
||||||
|
interval = 30;
|
||||||
|
label-mounted = "%free%(%total%)";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/fs-data" = {
|
||||||
|
"inherit" = "fs-base";
|
||||||
|
mount-0 = "/mnt/terra";
|
||||||
|
interval = 30;
|
||||||
|
label-mounted = "%free%(%total%)";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/battery" = {
|
||||||
|
type = "internal/battery";
|
||||||
|
full-at = 95;
|
||||||
|
low-at = 20;
|
||||||
|
battery = "BAT0";
|
||||||
|
adapter = "AC0";
|
||||||
|
poll-interval = 4;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/keyboard" = {
|
||||||
|
type = "internal/xkeyboard";
|
||||||
|
format = "%{T2}%{F#191830}%{F-}%{T-}%{B#191830}<label-layout>%{B-}%{B#191830}%{F#FAD000} <label-indicator>%{T-}%{B-}%{T2}%{F#191830}%{F-}%{T-}";
|
||||||
|
label-layout-background = "#191830";
|
||||||
|
label-layout-foreground = "#FFFFFF";
|
||||||
|
label-indicator-on-capslock = "CAPS";
|
||||||
|
};
|
||||||
|
|
||||||
|
"global/wm" = {
|
||||||
|
override-redirect = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"bar/default" = {
|
||||||
|
background = "#00191830";
|
||||||
|
border-color = "#00400080";
|
||||||
|
border-size = "10px";
|
||||||
|
bottom = "false";
|
||||||
|
font-0 = "Jetbrains Mono Nerd font:size=11;3";
|
||||||
|
font-1 = "Jetbrains Mono Nerd font:size=22;5";
|
||||||
|
foreground = "#FFFFFF";
|
||||||
|
height = 34;
|
||||||
|
modules-center = "ewmh";
|
||||||
|
modules-left = "date s keyboard battery";
|
||||||
|
modules-right = " fs-data s fs-system s memory s start gpu-temp gpu-usage end s cpu-temp cpu-usage";
|
||||||
|
padding-left = 2;
|
||||||
|
padding-right = 2;
|
||||||
|
radius = 15;
|
||||||
|
width = "100%";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
126
hosts/thinkpad/configs/rofi.nix
Executable file
126
hosts/thinkpad/configs/rofi.nix
Executable file
|
@ -0,0 +1,126 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
user,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
|
||||||
|
home-manager.users.grape.programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
font = "Jetbrains Mono";
|
||||||
|
theme = "/home/${user}/.config/rofi/theme.rasi";
|
||||||
|
plugins = with pkgs; [
|
||||||
|
rofi-calc
|
||||||
|
rofi-emoji
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.grape.home.file.".config/rofi/theme.rasi" = {
|
||||||
|
enable = true;
|
||||||
|
text = ''
|
||||||
|
/*******************************************************************************
|
||||||
|
* MACOS SPOTLIGHT LIKE DARK THEME FOR ROFI
|
||||||
|
* User : LR-Tech
|
||||||
|
* Theme Repo : https://github.com/lr-tech/rofi-themes-collection
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
* {
|
||||||
|
font: "JetBrains Mono Nerd 12";
|
||||||
|
|
||||||
|
bg0: #191830;
|
||||||
|
bg1: #7E7E7E80;
|
||||||
|
bg2: #FAD000;
|
||||||
|
|
||||||
|
fg0: #DEDEDE;
|
||||||
|
fg1: #FFFFFF;
|
||||||
|
fg2: #DEDEDE80;
|
||||||
|
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @fg0;
|
||||||
|
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: @bg0;
|
||||||
|
|
||||||
|
location: center;
|
||||||
|
width: 640;
|
||||||
|
border-radius: 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
font: "Montserrat 20";
|
||||||
|
padding: 12px;
|
||||||
|
spacing: 12px;
|
||||||
|
children: [ icon-search, entry ];
|
||||||
|
}
|
||||||
|
|
||||||
|
icon-search {
|
||||||
|
expand: false;
|
||||||
|
filename: "search";
|
||||||
|
size: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
icon-search, entry, element-icon, element-text {
|
||||||
|
vertical-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
font: inherit;
|
||||||
|
|
||||||
|
placeholder : "Search";
|
||||||
|
placeholder-color : @fg2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message {
|
||||||
|
border: 2px 0 0;
|
||||||
|
border-color: @bg1;
|
||||||
|
background-color: @bg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
padding: 8px 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
lines: 10;
|
||||||
|
columns: 1;
|
||||||
|
|
||||||
|
fixed-height: false;
|
||||||
|
border: 1px 0 0;
|
||||||
|
border-color: @bg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 8px 16px;
|
||||||
|
spacing: 16px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal active {
|
||||||
|
text-color: @bg2;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate active {
|
||||||
|
text-color: @bg2;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected normal, element selected active {
|
||||||
|
background-color: @bg2;
|
||||||
|
text-color: @fg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
14
hosts/thinkpad/configs/st.nix
Normal file
14
hosts/thinkpad/configs/st.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
(st.overrideAttrs (oldAttrs: rec {
|
||||||
|
configFile = writeText "config.def.h" (builtins.readFile ../opt/st/st.h);
|
||||||
|
postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h";
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://st.suckless.org/patches/scrollback/st-scrollback-0.8.5.diff";
|
||||||
|
sha256 = "0mgsklws6jsrngcsy64zmr604qsdlpd5pqsa3pci7j3gn8im4zyw";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}))
|
||||||
|
];
|
||||||
|
}
|
14
hosts/thinkpad/configs/tmux.nix
Normal file
14
hosts/thinkpad/configs/tmux.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
set -g allow-passthrough on
|
||||||
|
set -g default-shell "${pkgs.zsh}/bin/zsh"
|
||||||
|
set-window-option -g mode-keys vi
|
||||||
|
'';
|
||||||
|
terminal = "screen-256color";
|
||||||
|
#shell = "${pkgs.zsh}/bin/zsh";
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
135
hosts/thinkpad/configs/vscode.nix
Normal file
135
hosts/thinkpad/configs/vscode.nix
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
{ pkgs, user, ... }:
|
||||||
|
{
|
||||||
|
home-manager.users.${user} = {
|
||||||
|
programs.vscode = {
|
||||||
|
enable = false;
|
||||||
|
package = pkgs.vscodium;
|
||||||
|
#package = pkgs.vscode;
|
||||||
|
extensions =
|
||||||
|
with pkgs.vscode-extensions;
|
||||||
|
[
|
||||||
|
|
||||||
|
# language suports
|
||||||
|
pkgs.unstable.vscode-extensions.rust-lang.rust-analyzer
|
||||||
|
pkgs.vscode-extensions.jnoortheen.nix-ide
|
||||||
|
pkgs.vscode-extensions.redhat.java
|
||||||
|
pkgs.vscode-extensions.zxh404.vscode-proto3
|
||||||
|
pkgs.vscode-extensions.redhat.vscode-yaml
|
||||||
|
pkgs.vscode-extensions.ms-azuretools.vscode-docker
|
||||||
|
pkgs.vscode-extensions.octref.vetur
|
||||||
|
pkgs.vscode-extensions.bungcip.better-toml
|
||||||
|
pkgs.vscode-extensions.mikestead.dotenv
|
||||||
|
|
||||||
|
# linters
|
||||||
|
pkgs.vscode-extensions.esbenp.prettier-vscode
|
||||||
|
pkgs.vscode-extensions.naumovs.color-highlight
|
||||||
|
|
||||||
|
# essentials, other
|
||||||
|
pkgs.vscode-extensions.streetsidesoftware.code-spell-checker
|
||||||
|
pkgs.vscode-extensions.vscodevim.vim
|
||||||
|
pkgs.vscode-extensions.oderwat.indent-rainbow
|
||||||
|
pkgs.vscode-extensions.usernamehw.errorlens
|
||||||
|
pkgs.vscode-extensions.christian-kohler.path-intellisense
|
||||||
|
pkgs.vscode-extensions.vscjava.vscode-spring-initializr
|
||||||
|
pkgs.vscode-extensions.gruntfuggly.todo-tree
|
||||||
|
pkgs.vscode-extensions.eamodio.gitlens
|
||||||
|
|
||||||
|
#themes, icons
|
||||||
|
pkgs.vscode-extensions.vscode-icons-team.vscode-icons
|
||||||
|
pkgs.vscode-extensions.mechatroner.rainbow-csv
|
||||||
|
|
||||||
|
# local ai
|
||||||
|
pkgs.vscode-extensions.continue.continue
|
||||||
|
]
|
||||||
|
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||||
|
{
|
||||||
|
name = "shades-of-purple";
|
||||||
|
publisher = "ahmadawais";
|
||||||
|
version = "7.3.2";
|
||||||
|
sha256 = "10q5w9g7ghn2qvdc7h2b79x1vy8nzpnwz8dbg1h03074ikhvjx4v";
|
||||||
|
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "aw-watcher-vscode";
|
||||||
|
publisher = "activitywatch";
|
||||||
|
version = "0.5.0";
|
||||||
|
sha256 = "0nvw8pp6xaqs6w2zz3dr0vlrrpd6wcgh6jc5bp5ld92p0f34idrs";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
userSettings = {
|
||||||
|
"terminal.integrated.defaultProfile.linux" = "zsh";
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.lineNumbers" = "relative";
|
||||||
|
"workbench.colorTheme" = "Shades of Purple (Super Dark)";
|
||||||
|
"editor.minimap.enabled" = false;
|
||||||
|
"workbench.iconTheme" = "vscode-icons";
|
||||||
|
"vim.smartRelativeLine" = true;
|
||||||
|
"redhat.telemetry.enabled" = false;
|
||||||
|
"rust-analyzer.cargo.sysroot" = "discover";
|
||||||
|
"[typescriptreact]" = {
|
||||||
|
"editor.defaultFormatter" = "esbenp.prettier-vscode";
|
||||||
|
};
|
||||||
|
# load build.rs from checks
|
||||||
|
"rust-analyzer.cargo.loadOutDirsFromCheck" = true;
|
||||||
|
"rust-analyzer.experimental.procAttrMacros" = false;
|
||||||
|
"rust-analyzer.cargo.buildScripts.enable" = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
languageSnippets = {
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
"Include RustSrc for vscode" = {
|
||||||
|
body = [
|
||||||
|
"LIBCLANG_PATH = \"\${pkgs.llvmPackages_17.libclang.lib}/lib\";"
|
||||||
|
"RUST_SRC_PATH = \"\${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}\";"
|
||||||
|
];
|
||||||
|
description = "Include RUST_SRC_PATH and LIBCLANG_PATH for devshells";
|
||||||
|
prefix = [
|
||||||
|
"rust-src"
|
||||||
|
];
|
||||||
|
scope = "nix";
|
||||||
|
};
|
||||||
|
"Crane.dev workspace package into container" = {
|
||||||
|
body = [
|
||||||
|
"$1-container = pkgs.dockerTools.buildLayeredImage"
|
||||||
|
"{"
|
||||||
|
" name = \"$1\";"
|
||||||
|
" tag = \"latest\";"
|
||||||
|
" contents = with pkgs; ["
|
||||||
|
" cacert"
|
||||||
|
" openssl"
|
||||||
|
" pkg-config"
|
||||||
|
" libiconv"
|
||||||
|
" ];"
|
||||||
|
""
|
||||||
|
" config = {"
|
||||||
|
" WorkingDir = \"/app\";"
|
||||||
|
" Volumes = {"
|
||||||
|
" \"/app\" = { };"
|
||||||
|
" };"
|
||||||
|
" Entrypoint = [ \"\${$1}/bin/$2\" ];"
|
||||||
|
" };"
|
||||||
|
"}; "
|
||||||
|
];
|
||||||
|
prefix = [
|
||||||
|
"nix container"
|
||||||
|
];
|
||||||
|
scope = "nix";
|
||||||
|
};
|
||||||
|
|
||||||
|
pkginit = {
|
||||||
|
body = [
|
||||||
|
"{pkgs, ...}: {"
|
||||||
|
"$1"
|
||||||
|
"}"
|
||||||
|
];
|
||||||
|
description = "Insert a nix pkg config";
|
||||||
|
prefix = [
|
||||||
|
"nix"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
10
hosts/thinkpad/configs/waydroid.nix
Normal file
10
hosts/thinkpad/configs/waydroid.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
|
|
||||||
|
virtualisation.waydroid.enable = false;
|
||||||
|
#environment.systemPackages = with pkgs; [
|
||||||
|
# waydroid
|
||||||
|
# weston
|
||||||
|
# cage
|
||||||
|
#];
|
||||||
|
}
|
144
hosts/thinkpad/configuration.nix
Executable file
144
hosts/thinkpad/configuration.nix
Executable file
|
@ -0,0 +1,144 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
user,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
# system stuff
|
||||||
|
./system/display.nix
|
||||||
|
./system/sound.nix
|
||||||
|
./system/essentials.nix
|
||||||
|
./system/shell.nix
|
||||||
|
./system/remap.nix
|
||||||
|
./system/ssd.nix
|
||||||
|
|
||||||
|
# rice and other usefull apps
|
||||||
|
./desktop.nix
|
||||||
|
|
||||||
|
# developing tools
|
||||||
|
./dev.nix
|
||||||
|
|
||||||
|
# music
|
||||||
|
./apps/music.nix
|
||||||
|
|
||||||
|
# communcations apps
|
||||||
|
./apps/communication.nix
|
||||||
|
|
||||||
|
# password manager
|
||||||
|
./apps/keepassxc.nix
|
||||||
|
|
||||||
|
# productivity apps
|
||||||
|
./apps/prod.nix
|
||||||
|
|
||||||
|
# enabling sandboxing and other security measures
|
||||||
|
./system/security.nix
|
||||||
|
|
||||||
|
# file sync
|
||||||
|
./apps/syncthing.nix
|
||||||
|
|
||||||
|
# libreoffice
|
||||||
|
./apps/office.nix
|
||||||
|
|
||||||
|
# node xporter
|
||||||
|
#./configs/prometheus.nix
|
||||||
|
./configs/neofetch.nix
|
||||||
|
./configs/logseq.nix
|
||||||
|
./configs/i3.nix
|
||||||
|
./configs/rofi.nix
|
||||||
|
./configs/picom.nix
|
||||||
|
./configs/polybar.nix
|
||||||
|
./configs/btop.nix
|
||||||
|
./configs/dunst.nix
|
||||||
|
./configs/firefox.nix
|
||||||
|
./configs/element.nix
|
||||||
|
./configs/nvim.nix
|
||||||
|
./configs/tmux.nix
|
||||||
|
|
||||||
|
# terminal
|
||||||
|
#./configs/st.nix # too minimal, most things dont work without a million tweaks
|
||||||
|
#./configs/kitty.nix # uses their own stupid xterm extension...
|
||||||
|
./configs/alacritty.nix # just perfect, tho too much gpu usage
|
||||||
|
|
||||||
|
# apps
|
||||||
|
./apps/graphics.nix
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
# adding nur
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
||||||
|
inherit pkgs;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# adding flake support
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.users."${user}" =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
home.stateVersion = "24.11";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"electron-27.3.11"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
# kernel
|
||||||
|
#boot.kernelPackages = pkgs.linuxPackages_xanmod; # Gaming
|
||||||
|
|
||||||
|
#boot.initrd.luks.devices."luks-f7e86dde-55a5-4306-a7c2-cf2d93c9ee0b".device = "/dev/disk/by-uuid/f7e86dde-55a5-4306-a7c2-cf2d93c9ee0b"; # old dead ssd rip 24.07.28
|
||||||
|
boot.initrd.luks.devices."luks-da1b2f8c-877a-4c39-8965-a4af625718c".device =
|
||||||
|
"/dev/disk/by-uuid/da1b2f8c-877a-4c39-8965-a4af6a25718c";
|
||||||
|
|
||||||
|
networking.hostName = "strix";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Budapest";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "hu_HU.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "hu_HU.UTF-8";
|
||||||
|
LC_MEASUREMENT = "hu_HU.UTF-8";
|
||||||
|
LC_MONETARY = "hu_HU.UTF-8";
|
||||||
|
LC_NAME = "hu_HU.UTF-8";
|
||||||
|
LC_NUMERIC = "hu_HU.UTF-8";
|
||||||
|
LC_PAPER = "hu_HU.UTF-8";
|
||||||
|
LC_TELEPHONE = "hu_HU.UTF-8";
|
||||||
|
LC_TIME = "hu_HU.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.peach = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "peach";
|
||||||
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"audio"
|
||||||
|
"docker"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nix.settings.auto-optimise-store = true;
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
}
|
27
hosts/thinkpad/desktop.nix
Executable file
27
hosts/thinkpad/desktop.nix
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
btop
|
||||||
|
nitrogen
|
||||||
|
ranger
|
||||||
|
neofetch
|
||||||
|
cava
|
||||||
|
bluetuith
|
||||||
|
|
||||||
|
# for screcsotting
|
||||||
|
scrot
|
||||||
|
xclip
|
||||||
|
maim
|
||||||
|
|
||||||
|
# multimedia
|
||||||
|
feh
|
||||||
|
mpv
|
||||||
|
|
||||||
|
];
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.backupFileExtension = "backup";
|
||||||
|
}
|
23
hosts/thinkpad/dev.nix
Executable file
23
hosts/thinkpad/dev.nix
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
# enable docker
|
||||||
|
virtualisation.docker.rootless = {
|
||||||
|
enable = true;
|
||||||
|
setSocketVariable = true;
|
||||||
|
};
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# tools
|
||||||
|
git # version control
|
||||||
|
|
||||||
|
#containers
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
|
||||||
|
# nix pkg fetcher
|
||||||
|
nurl
|
||||||
|
#nix-init
|
||||||
|
postman
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
48
hosts/thinkpad/hardware-configuration.nix
Normal file
48
hosts/thinkpad/hardware-configuration.nix
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/c5e13eac-4cdf-490b-85f4-c14038313ada";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."luks-53201bbc-c763-4d15-8bf8-a173550fab91".device = "/dev/disk/by-uuid/53201bbc-c763-4d15-8bf8-a173550fab91";
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/9DDA-7820";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/media/terra" =
|
||||||
|
{ device = "/dev/disk/by-uuid/f2b24250-0cf5-43d4-806f-7f024922781a";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/b719003b-1ae0-4377-97f1-4447b4514de8"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.eno2.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
332
hosts/thinkpad/opt/firefox/i2puser.js
Normal file
332
hosts/thinkpad/opt/firefox/i2puser.js
Normal file
|
@ -0,0 +1,332 @@
|
||||||
|
user_pref("accessibility.force_disabled", 1);
|
||||||
|
user_pref("app.normandy.first_run", false);
|
||||||
|
user_pref("app.normandy.api_url", "");
|
||||||
|
user_pref("app.normandy.enabled", false);
|
||||||
|
user_pref("app.normandy.optoutstudies.enabled", false);
|
||||||
|
user_pref("app.shield.optoutstudies.enabled", false);
|
||||||
|
user_pref("app.update.auto", false);
|
||||||
|
user_pref("app.update.BITS.enabled", false);
|
||||||
|
user_pref("app.update.channel", "i2pdbrowser");
|
||||||
|
user_pref("app.update.disable_button.showUpdateHistory", true);
|
||||||
|
user_pref("app.update.enabled", false);
|
||||||
|
user_pref("app.update.interval", 0);
|
||||||
|
user_pref("app.update.service.enabled", false);
|
||||||
|
user_pref("app.update.url", "");
|
||||||
|
user_pref("beacon.enabled", false);
|
||||||
|
pref("breakpad.reportURL", "");
|
||||||
|
user_pref("browser.aboutHomeSnippets.updateUrl", "");
|
||||||
|
user_pref("browser.aboutwelcome.enabled", false);
|
||||||
|
user_pref("browser.cache.disk.capacity", 131072);
|
||||||
|
user_pref("browser.cache.offline.enable", false);
|
||||||
|
user_pref("browser.casting.enabled", false);
|
||||||
|
user_pref("browser.contentblocking.database.enabled", false);
|
||||||
|
user_pref("browser.contentblocking.report.lockwise.enabled", false);
|
||||||
|
user_pref("browser.contentblocking.report.monitor.enabled", false);
|
||||||
|
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
||||||
|
user_pref("browser.discovery.enabled", false);
|
||||||
|
pref("browser.download.manager.retention", 0);
|
||||||
|
user_pref("browser.download.useDownloadDir", false);
|
||||||
|
user_pref("browser.feeds.showFirstRunUI", false);
|
||||||
|
user_pref("browser.fixup.alternate.enabled", false);
|
||||||
|
user_pref("browser.fixup.fallback-to-https", false);
|
||||||
|
user_pref("browser.formfill.enable", false);
|
||||||
|
user_pref("browser.formfill.expire_days", 0);
|
||||||
|
user_pref("browser.messaging-system.whatsNewPanel.enabled", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.asrouterfeed", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.default.sites", "http://i2pd.i2p/,http://333.i2p/,http://inr.i2p/,http://102chan.i2p/,http://flibusta.i2p/,http://fsoc.i2p/,http://lifebox.i2p/,http://onelon.i2p/,http://wiki.ilita.i2p/");
|
||||||
|
user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.snippets", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.showSearch", true);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.telemetry", false);
|
||||||
|
pref("browser.newtabpage.activity-stream.topSitesRows", 2);
|
||||||
|
pref("browser.newtabpage.enhanced", false);
|
||||||
|
pref("browser.newtabpage.introShown", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-addons.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-customize.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-default-browser.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-performance.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-private-browsing.completed", true);
|
||||||
|
user_pref("browser.onboarding.tour.onboarding-tour-screenshots.completed", true);
|
||||||
|
user_pref("browser.pagethumbnails.capturing_disabled", true);
|
||||||
|
user_pref("browser.ping-centre.telemetry", false);
|
||||||
|
user_pref("browser.places.smartBookmarksVersion", -1);
|
||||||
|
pref("browser.places.speculativeConnect.enabled", false);
|
||||||
|
pref("browser.reader.detectedFirstArticle", false);
|
||||||
|
pref("browser.region.network.url", "");
|
||||||
|
pref("browser.region.update.enabled", false);
|
||||||
|
pref("browser.rights.3.shown", true);
|
||||||
|
user_pref("browser.safebrowsing.appRepURL", "");
|
||||||
|
user_pref("browser.safebrowsing.blockedURIs.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.downloads.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.gethashURL", "");
|
||||||
|
user_pref("browser.safebrowsing.keyURL", "localhost");
|
||||||
|
user_pref("browser.safebrowsing.malware.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.malware.reportURL", "");
|
||||||
|
user_pref("browser.safebrowsing.phishing.enabled", false);
|
||||||
|
user_pref("browser.safebrowsing.provider.google.appRepURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.google.gethashURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.google.lists", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.google.reportURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.google.updateURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.mozilla.lists", "");
|
||||||
|
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportErrorURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportGenericURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportMalwareErrorURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportMalwareURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportPhishURL", "");
|
||||||
|
user_pref("browser.safebrowsing.reportURL", "");
|
||||||
|
user_pref("browser.safebrowsing.updateURL", "");
|
||||||
|
user_pref("browser.safebrowsing.warning.infoURL", "");
|
||||||
|
user_pref("browser.search.countryCode", "US");
|
||||||
|
user_pref("browser.search.defaultenginename", "YaCy 'legwork'");
|
||||||
|
user_pref("browser.search.defaultenginename.US", "YaCy 'legwork'");
|
||||||
|
user_pref("browser.search.geoSpecificDefaults", false);
|
||||||
|
user_pref("browser.search.geoSpecificDefaults.url", "");
|
||||||
|
user_pref("browser.search.geoip.url", "");
|
||||||
|
user_pref("browser.search.official", false);
|
||||||
|
user_pref("browser.search.order.1", "YaCy 'legwork'");
|
||||||
|
user_pref("browser.search.order.2", "");
|
||||||
|
user_pref("browser.search.order.3", "");
|
||||||
|
user_pref("browser.search.order.US.1", "YaCy 'legwork'");
|
||||||
|
user_pref("browser.search.order.US.2", "");
|
||||||
|
user_pref("browser.search.order.US.3", "");
|
||||||
|
user_pref("browser.search.redirectWindowsSearch", false);
|
||||||
|
user_pref("browser.search.region", "US");
|
||||||
|
user_pref("browser.search.searchEnginesURL", "");
|
||||||
|
user_pref("browser.search.suggest.enabled", false);
|
||||||
|
user_pref("browser.search.update", false);
|
||||||
|
user_pref("browser.send_pings", false);
|
||||||
|
pref("browser.send_pings.require_same_host", true);
|
||||||
|
user_pref("browser.shell.checkDefaultBrowser", false);
|
||||||
|
pref("browser.startup.homepage", "http://i2pd.i2p/");
|
||||||
|
user_pref("browser.startup.homepage_override.mstone", "ignore");
|
||||||
|
user_pref("browser.tabs.closeWindowWithLastTab", false);
|
||||||
|
user_pref("browser.tabs.crashReporting.sendReport", false);
|
||||||
|
user_pref("browser.translation.engine", "");
|
||||||
|
user_pref("browser.uitour.enabled", false);
|
||||||
|
user_pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0);
|
||||||
|
user_pref("browser.urlbar.formatting.enabled", false);
|
||||||
|
user_pref("browser.urlbar.maxRichResults", 12);
|
||||||
|
user_pref("browser.urlbar.speculativeConnect.enabled", false);
|
||||||
|
user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
|
||||||
|
user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
|
||||||
|
user_pref("browser.urlbar.suggest.searches", false);
|
||||||
|
user_pref("browser.urlbar.trimURLs", false);
|
||||||
|
user_pref("browser.usedOnWindows10", false);
|
||||||
|
user_pref("browser.usedOnWindows10.introURL", "");
|
||||||
|
user_pref("camera.control.face_detection.enabled", false);
|
||||||
|
pref("canvas.capturestream.enabled", false);
|
||||||
|
user_pref("captivedetect.canonicalURL", "");
|
||||||
|
pref("clipboard.autocopy", false);
|
||||||
|
user_pref("datareporting.healthreport.about.reportUrl", "");
|
||||||
|
user_pref("datareporting.healthreport.about.reportUrlUnified", "");
|
||||||
|
user_pref("datareporting.healthreport.documentServerURI", "");
|
||||||
|
user_pref("datareporting.healthreport.pendingDeleteRemoteData", true);
|
||||||
|
user_pref("datareporting.healthreport.service.enabled", false);
|
||||||
|
user_pref("datareporting.healthreport.service.firstRun", false);
|
||||||
|
user_pref("datareporting.healthreport.uploadEnabled", false);
|
||||||
|
pref("datareporting.policy.dataSubmissionEnabled", false);
|
||||||
|
pref("datareporting.policy.firstRunTime", "0");
|
||||||
|
pref("datareporting.sessions.current.clean", true);
|
||||||
|
pref("device.sensors.enabled", false);
|
||||||
|
pref("devtools.chrome.enabled", false);
|
||||||
|
pref("devtools.debugger.force-local", true);
|
||||||
|
pref("devtools.debugger.remote-enabled", false);
|
||||||
|
pref("devtools.webide.autoinstallADBHelper", false);
|
||||||
|
pref("devtools.webide.autoinstallFxdtAdapters", false);
|
||||||
|
pref("devtools.webide.enabled", false);
|
||||||
|
user_pref("devtools.whatsnew.enabled", false);
|
||||||
|
user_pref("devtools.whatsnew.feature-enabled", false);
|
||||||
|
pref("dom.allow_cut_copy", false);
|
||||||
|
pref("dom.archivereader.enabled", false);
|
||||||
|
pref("dom.battery.enabled", false);
|
||||||
|
pref("dom.enable_performance", false);
|
||||||
|
pref("dom.enable_user_timing", false);
|
||||||
|
pref("dom.event.clipboardevents.enabled", false);
|
||||||
|
pref("dom.flyweb.enabled", false);
|
||||||
|
pref("dom.gamepad.enabled", false);
|
||||||
|
pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
|
||||||
|
pref("dom.ipc.plugins.reportCrashURL", false);
|
||||||
|
pref("dom.maxHardwareConcurrency", 2);
|
||||||
|
pref("dom.mozTCPSocket.enabled", false);
|
||||||
|
pref("dom.netinfo.enabled", false);
|
||||||
|
pref("dom.network.enabled", false);
|
||||||
|
user_pref("dom.push.enabled", false);
|
||||||
|
user_pref("dom.security.https_first", false);
|
||||||
|
user_pref("dom.security.https_first_pbm", false);
|
||||||
|
pref("dom.telephony.enabled", false);
|
||||||
|
pref("dom.vibrator.enabled", false);
|
||||||
|
pref("dom.vr.enabled", false);
|
||||||
|
pref("dom.webaudio.enabled", false);
|
||||||
|
pref("dom.webnotifications.enabled", false);
|
||||||
|
pref("dom.workers.enabled", false);
|
||||||
|
pref("experiments.enabled", false);
|
||||||
|
pref("experiments.manifest.uri", "");
|
||||||
|
pref("experiments.supported", false);
|
||||||
|
pref("extensions.abuseReport.enabled", false);
|
||||||
|
pref("extensions.autoDisableScopes", 0);
|
||||||
|
pref("extensions.blocklist.enabled", false);
|
||||||
|
pref("extensions.blocklist.url", "");
|
||||||
|
user_pref("extensions.getAddons.cache.enabled", false);
|
||||||
|
user_pref("extensions.getAddons.showPane", false);
|
||||||
|
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
|
||||||
|
pref("extensions.lazarus.showDonateNotification", false);
|
||||||
|
user_pref("extensions.pocket.enabled", false);
|
||||||
|
user_pref("extensions.screenshots.upload-disabled", true);
|
||||||
|
pref("extensions.shownSelectionUI", true);
|
||||||
|
user_pref("extensions.systemAddon.update.enabled", false);
|
||||||
|
user_pref("extensions.systemAddon.update.url", "");
|
||||||
|
pref("extensions.ui.lastCategory", "addons://list/extension");
|
||||||
|
pref("extensions.update.autoUpdateDefault", false);
|
||||||
|
user_pref("extensions.update.enabled", false);
|
||||||
|
pref("full-screen-api.approval-required", false);
|
||||||
|
pref("full-screen-api.warning.timeout", 0);
|
||||||
|
pref("general.buildID.override", "20100101");
|
||||||
|
user_pref("general.platform.override", "Win32");
|
||||||
|
user_pref("general.useragent.locale", "en-US");
|
||||||
|
user_pref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/78.0");
|
||||||
|
pref("general.warnOnAboutConfig", false);
|
||||||
|
user_pref("geo.enabled", false);
|
||||||
|
user_pref("geo.wifi.logging.enabled", false);
|
||||||
|
user_pref("geo.wifi.uri", "");
|
||||||
|
user_pref("identity.fxaccounts.commands.enabled", false);
|
||||||
|
user_pref("identity.fxaccounts.enabled", false);
|
||||||
|
user_pref("intl.locale.matchOS", true);
|
||||||
|
pref("javascript.use_us_english_locale", true);
|
||||||
|
pref("keyword.enabled", false);
|
||||||
|
pref("lightweightThemes.update.enabled", false);
|
||||||
|
pref("loop.logDomains", false);
|
||||||
|
user_pref("marionette.enabled", false);
|
||||||
|
// Allow .i2p domain
|
||||||
|
user_pref("browser.fixup.domainsuffixwhitelist.i2p", true);
|
||||||
|
// disable https only
|
||||||
|
user_pref("dom.security.https_only_mode", false);
|
||||||
|
|
||||||
|
|
||||||
|
user_pref("media.eme.enabled", false);
|
||||||
|
user_pref("media.getusermedia.audiocapture.enabled", false);
|
||||||
|
user_pref("media.getusermedia.screensharing.enabled", false);
|
||||||
|
pref("media.gmp-eme-adobe.enabled", false);
|
||||||
|
user_pref("media.gmp-gmpopenh264.enabled", false);
|
||||||
|
pref("media.gmp-gmpopenh264.provider.enabled", false);
|
||||||
|
pref("media.gmp-manager.cert.checkAttributes", false);
|
||||||
|
pref("media.gmp-manager.url", "");
|
||||||
|
user_pref("media.navigator.enabled", false);
|
||||||
|
user_pref("media.navigator.video.enabled", false);
|
||||||
|
user_pref("media.peerconnection.enabled", false);
|
||||||
|
user_pref("media.peerconnection.ice.default_address_only", true);
|
||||||
|
user_pref("media.peerconnection.ice.no_host", true);
|
||||||
|
user_pref("media.peerconnection.identity.timeout", 1);
|
||||||
|
user_pref("media.peerconnection.turn.disable", true);
|
||||||
|
user_pref("media.peerconnection.use_document_iceservers", false);
|
||||||
|
user_pref("media.video_stats.enabled", false);
|
||||||
|
user_pref("media.webspeech.recognition.enable", false);
|
||||||
|
user_pref("media.webspeech.synth.enabled", false);
|
||||||
|
user_pref("messaging-system.rsexperimentloader.enabled", false);
|
||||||
|
user_pref("network.IDN.whitelist.i2p", true);
|
||||||
|
user_pref("network.IDN_show_punycode", true);
|
||||||
|
user_pref("network.allow-experiments", false);
|
||||||
|
user_pref("network.captive-portal-service.enabled", false);
|
||||||
|
user_pref("network.connectivity-service.enabled", false);
|
||||||
|
pref("network.cookie.prefsMigrated", true);
|
||||||
|
user_pref("network.dns.disableIPv6", true);
|
||||||
|
user_pref("network.dns.disablePrefetchFromHTTPS", true);
|
||||||
|
user_pref("network.dns.disablePrefetch", true);
|
||||||
|
user_pref("network.gio.supported-protocols", "");
|
||||||
|
user_pref("network.http.speculative-parallel-limit", 0);
|
||||||
|
user_pref("network.jar.open-unsafe-types", false);
|
||||||
|
pref("network.manage-offline-status", false);
|
||||||
|
user_pref("network.negotiate-auth.allow-insecure-ntlm-v1", false);
|
||||||
|
user_pref("network.notify.changed", false);
|
||||||
|
pref("network.predictor.enabled", false);
|
||||||
|
pref("network.predictor.enable-prefetch", false);
|
||||||
|
user_pref("network.prefetch-next", false);
|
||||||
|
pref("network.protocol-handler.expose-all", true);
|
||||||
|
user_pref("network.protocol-handler.external-default", false);
|
||||||
|
user_pref("network.protocol-handler.warn-external-default", true);
|
||||||
|
user_pref("network.proxy.allow_bypass", false);
|
||||||
|
user_pref("network.proxy.ftp", "32.54.31.99");
|
||||||
|
user_pref("network.proxy.ftp_port", 4447);
|
||||||
|
user_pref("network.proxy.socks", "32.54.31.99");
|
||||||
|
user_pref("network.proxy.socks_port", 4447);
|
||||||
|
user_pref("network.proxy.socks_version", 5);
|
||||||
|
user_pref("network.proxy.no_proxies_on", "localhost, 127.0.0.1");
|
||||||
|
user_pref("network.proxy.share_proxy_settings", true);
|
||||||
|
user_pref("network.proxy.socks_remote_dns", true);
|
||||||
|
user_pref("network.proxy.ssl", "");
|
||||||
|
user_pref("network.proxy.ssl_port", 0);
|
||||||
|
user_pref("network.proxy.type", 1);
|
||||||
|
pref("network.http.speculative-parallel-limit", 0);
|
||||||
|
user_pref("network.trr.mode", 5);
|
||||||
|
user_pref("pdfjs.disabled", true);
|
||||||
|
user_pref("pdfjs.enableWebGL", false);
|
||||||
|
user_pref("permissions.default.camera", 2);
|
||||||
|
user_pref("permissions.default.desktop-notification", 2);
|
||||||
|
user_pref("permissions.default.geo", 2);
|
||||||
|
user_pref("permissions.default.microphone", 2);
|
||||||
|
user_pref("plugin.default_plugin_disabled", true);
|
||||||
|
user_pref("plugin.state.java", 0);
|
||||||
|
user_pref("plugin.state.libgnome-shell-browser-plugin", 0);
|
||||||
|
user_pref("plugins.click_to_play", true);
|
||||||
|
user_pref("plugins.load_appdir_plugins", false);
|
||||||
|
user_pref("plugins.update.notifyUser", false);
|
||||||
|
user_pref("plugins.update.url", "");
|
||||||
|
pref("privacy.cpd.offlineApps", true);
|
||||||
|
pref("privacy.firstparty.isolate", true);
|
||||||
|
user_pref("privacy.resistFingerprinting", true);
|
||||||
|
pref("privacy.sanitize.timeSpan", 0);
|
||||||
|
user_pref("privacy.spoof_english", 2);
|
||||||
|
user_pref("privacy.trackingprotection.enabled", true);
|
||||||
|
//user_pref("privacy.userContext.enabled", true);
|
||||||
|
user_pref("reader.parse-on-load.enabled", false);
|
||||||
|
user_pref("reader.parse-on-load.force-enabled", false);
|
||||||
|
user_pref("security.insecure_field_warning.contextual.enabled", false);
|
||||||
|
user_pref("security.insecure_password.ui.enabled", false);
|
||||||
|
user_pref("security.ssl.errorReporting.enabled", false);
|
||||||
|
user_pref("security.OCSP.enabled", 0);
|
||||||
|
user_pref("services.blocklist.update_enabled", false);
|
||||||
|
pref("services.settings.server", "");
|
||||||
|
user_pref("services.sync.enabled", false);
|
||||||
|
pref("services.sync.prefs.sync.browser.download.manager.scanWhenDone", false);
|
||||||
|
pref("services.sync.prefs.sync.browser.safebrowsing.enabled", false);
|
||||||
|
pref("services.sync.prefs.sync.browser.search.update", false);
|
||||||
|
pref("services.sync.prefs.sync.extensions.update.enabled", false);
|
||||||
|
pref("signon.autofillForms", false);
|
||||||
|
user_pref("signon.management.page.breach-alerts.enabled", false);
|
||||||
|
user_pref("signon.management.page.vulnerable-passwords.enabled", false);
|
||||||
|
pref("signon.rememberSignons", false);
|
||||||
|
//user_pref("startup.homepage_welcome_url", "http://i2pd.i2p/");
|
||||||
|
pref("startup.homepage_welcome_url.additional", "about:blank");
|
||||||
|
pref("toolkit.coverage.endpoint.base", "");
|
||||||
|
pref("toolkit.coverage.opt-out", true);
|
||||||
|
user_pref("toolkit.telemetry.archive.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.bhrPing.enabled", false);
|
||||||
|
pref("toolkit.telemetry.coverage.opt-out", true);
|
||||||
|
user_pref("toolkit.telemetry.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.optoutSample", false);
|
||||||
|
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
|
||||||
|
user_pref("toolkit.telemetry.server", "");
|
||||||
|
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.unified", false);
|
||||||
|
user_pref("toolkit.telemetry.unifiedIsOptIn", true);
|
||||||
|
user_pref("toolkit.telemetry.updatePing.enabled", true);
|
||||||
|
user_pref("toolkit.winRegisterApplicationRestart", false);
|
||||||
|
user_pref("webgl.disable-extensions", true);
|
||||||
|
user_pref("webgl.disable-fail-if-major-performance-caveat", true);
|
||||||
|
user_pref("webgl.disabled", true);
|
||||||
|
user_pref("webgl.enable-debug-renderer-info", false);
|
||||||
|
user_pref("webgl.min_capability_mode", true);
|
1225
hosts/thinkpad/opt/firefox/user.js
Executable file
1225
hosts/thinkpad/opt/firefox/user.js
Executable file
File diff suppressed because it is too large
Load diff
1396
hosts/thinkpad/opt/firefox/userChrome.css
Executable file
1396
hosts/thinkpad/opt/firefox/userChrome.css
Executable file
File diff suppressed because it is too large
Load diff
532
hosts/thinkpad/opt/firefox/userContent.css
Executable file
532
hosts/thinkpad/opt/firefox/userContent.css
Executable file
|
@ -0,0 +1,532 @@
|
||||||
|
/* ----- Included functions ----- */
|
||||||
|
@import url("spill-style-part2-file.css");
|
||||||
|
@import url("thin_scrollbar_windows10.css");
|
||||||
|
@import url("wallpaper-edition.css");
|
||||||
|
@import url("remove_homepage_shortcut_title_text.css");
|
||||||
|
@import url("circular_homepage_shortcuts.css");
|
||||||
|
|
||||||
|
/*=====================================================================
|
||||||
|
================= D A R K T H E M E C O L O R S ===================
|
||||||
|
=====================================================================*/
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--firefoxcss-main-bg-color: hsl(240, 2%, 13%);
|
||||||
|
--firefoxcss-item-bg-color: hsl(240, 2%, 20%);
|
||||||
|
--firefoxcss-item-hover-bg-color: hsl(240, 2%, 25%);
|
||||||
|
--firefoxcss-text-color: hsl(0, 0%, 100%);
|
||||||
|
--firefoxcss-other-color: hsl(290, 21%, 20%);
|
||||||
|
|
||||||
|
/* ----- Private Page Colors ----- */
|
||||||
|
--firefoxcss-private-search-bg-color: hsla(275, 13%, 33%, 0.3);
|
||||||
|
--firefoxcss-private-search-top-border: hsla(275, 13%, 40%, 0.3);
|
||||||
|
--firefoxcss-private-search-fill: hsl(275, 13%, 53%);
|
||||||
|
|
||||||
|
--firefoxcss-private-search-hover: hsla(275, 13%, 43%, 0.3);
|
||||||
|
--firefoxcss-private-search-border-hover: hsla(275, 13%, 50%, 0.3);
|
||||||
|
--firefoxcss-private-search-hover-fill: hsl(275, 13%, 63%);
|
||||||
|
|
||||||
|
--firefoxcss-private-search-text: var(--firefoxcss-private-search-fill);
|
||||||
|
--firefoxcss-private-search-text-hover: var(--firefoxcss-private-search-hover-fill);
|
||||||
|
--firefoxcss-private-search-caret: hsl(290, 21%, 80%);
|
||||||
|
|
||||||
|
--firefoxcss-private-search-box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.075),
|
||||||
|
0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075),
|
||||||
|
0 6px 6px hsl(0deg 0% 0% / 0.075), 0 12px 12px hsl(0deg 0% 0% / 0.095);
|
||||||
|
|
||||||
|
/* ----- Normal Page Colors ----- */
|
||||||
|
--firefoxcss-search-box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.075),
|
||||||
|
0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075),
|
||||||
|
0 8px 8px hsl(0deg 0% 0% / 0.075), 0 16px 16px hsl(0deg 0% 0% / 0.095);
|
||||||
|
|
||||||
|
--firefoxcss-search-color: rgba(251, 251, 254, 1);
|
||||||
|
--firefoxcss-search-border-top-color: #ffffff26;
|
||||||
|
--firefoxcss-search-text-fill: #ffffff5e;
|
||||||
|
--firefoxcss-search-bar-text-color: rgba(251, 251, 254, 1);
|
||||||
|
--firefoxcss-search-bar-fill-icon-hover: rgba(251, 251, 254, 0.8);
|
||||||
|
|
||||||
|
--firefoxcss-shortcut-item-box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.075),
|
||||||
|
0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075),
|
||||||
|
0 8px 8px hsl(0deg 0% 0% / 0.075), 0 16px 16px hsl(0deg 0% 0% / 0.075);
|
||||||
|
--firefoxcss-shortcut-item-top-border: #ffffff26;
|
||||||
|
--firefoxcss-shortcut-item-top-border-hover: #97979791;
|
||||||
|
|
||||||
|
--firefoxcss-customize-menu: #1e1e1e8c;
|
||||||
|
--firefoxcss-customize-menu-bg-image: url("ASSETS/other/noise-512x512.png");
|
||||||
|
--firefoxcss-customize-menu-dropdown: #1e1e1e80;
|
||||||
|
--firefoxcss-input-focus: white;
|
||||||
|
/* no changes */
|
||||||
|
--firefoxcss-shortcut-item-active: hsla(0, 0%, 10%, 0.7);
|
||||||
|
--firefoxcss-shortcut-item-context-menu: #13131380;
|
||||||
|
--firefoxcss-shortcut-item-context-menu-border: hsla(0, 0%, 70%, 0.145);
|
||||||
|
--firefoxcss-shortcut-item-context-menu-separator: #ffffff29;
|
||||||
|
--firefoxcss-extra-search-bar-when-scroll: #1e1e1e8c;
|
||||||
|
--firefoxcss-context-menu-three-dots: hsla(240, 2%, 60%, 0.6);
|
||||||
|
--firefoxcss-settings-wheel-color: hsla(240, 20%, 90%, 0.6);
|
||||||
|
--firefoxcss-settings-wheel-color-hover: hsla(240, 20%, 90%, 0.9);
|
||||||
|
--firefoxcss-shortcut-search-icon-color: #7ae3f463;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
scrollbar-color: #afafaf #2c2c2c !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*=====================================================================
|
||||||
|
================= L I G H T T H E M E C O L O R S =================
|
||||||
|
=====================================================================*/
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
:root {
|
||||||
|
--firefoxcss-main-bg-color: hsl(240, 15%, 95%);
|
||||||
|
--firefoxcss-item-bg-color: hsl(240, 20%, 98%);
|
||||||
|
--firefoxcss-item-hover-bg-color: hsl(240, 5%, 95%);
|
||||||
|
--firefoxcss-text-color: hsl(0, 0%, 0%);
|
||||||
|
--firefoxcss-other-color: hsl(290, 21%, 20%);
|
||||||
|
|
||||||
|
/* ----- Private Page Colors ----- */
|
||||||
|
--firefoxcss-private-search-bg-color: hsla(276, 20%, 88%, 0.55);
|
||||||
|
--firefoxcss-private-search-top-border: hsla(0, 0%, 100%, 0.45);
|
||||||
|
--firefoxcss-private-search-fill: hsl(275, 20%, 65%);
|
||||||
|
|
||||||
|
--firefoxcss-private-search-hover: hsla(276, 20%, 84%, 0.50);
|
||||||
|
--firefoxcss-private-search-border-hover: hsla(0, 0%, 100%, 0.55);
|
||||||
|
--firefoxcss-private-search-hover-fill: hsl(275, 20%, 55%);
|
||||||
|
|
||||||
|
--firefoxcss-private-search-text: var(--firefoxcss-private-search-fill);
|
||||||
|
--firefoxcss-private-search-text-hover: var(--firefoxcss-private-search-hover-fill);
|
||||||
|
--firefoxcss-private-search-caret: hsl(276, 20%, 40%);
|
||||||
|
|
||||||
|
--firefoxcss-private-search-box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.015),
|
||||||
|
0 2px 2px hsl(0deg 0% 0% / 0.015), 0 4px 4px hsl(0deg 0% 0% / 0.015),
|
||||||
|
0 6px 6px hsl(0deg 0% 0% / 0.015), 0 12px 12px hsl(0deg 0% 0% / 0.035);
|
||||||
|
|
||||||
|
/* ----- Normal Page Colors ----- */
|
||||||
|
--firefoxcss-search-box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.015),
|
||||||
|
0 2px 2px hsl(0deg 0% 0% / 0.015), 0 4px 4px hsl(0deg 0% 0% / 0.015),
|
||||||
|
0 8px 8px hsl(0deg 0% 0% / 0.015), 0 16px 16px hsl(0deg 0% 0% / 0.035);
|
||||||
|
|
||||||
|
--firefoxcss-search-color: rgb(87, 87, 87, 1);
|
||||||
|
--firefoxcss-search-border-top-color: hsla(0, 0%, 100%, 0.9);
|
||||||
|
--firefoxcss-search-text-fill: rgba(10, 10, 10, 0.25);
|
||||||
|
--firefoxcss-search-bar-text-color: rgba(10, 10, 10, 0.65);
|
||||||
|
--firefoxcss-search-bar-fill-icon-hover: rgba(0, 0, 0, 0.5);
|
||||||
|
|
||||||
|
--firefoxcss-shortcut-item-box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.025),
|
||||||
|
0 2px 2px hsl(0deg 0% 0% / 0.025), 0 4px 4px hsl(0deg 0% 0% / 0.025),
|
||||||
|
0 8px 8px hsl(0deg 0% 0% / 0.025), 0 16px 16px hsl(0deg 0% 0% / 0.025);
|
||||||
|
--firefoxcss-shortcut-item-top-border: hsla(0, 0%, 100%, 0.9);
|
||||||
|
--firefoxcss-shortcut-item-top-border-hover: hsla(0, 0%, 100%, 0.6);
|
||||||
|
|
||||||
|
--firefoxcss-customize-menu: hsla(240, 10%, 90%, 0.25);
|
||||||
|
--firefoxcss-customize-menu-bg-image: none;
|
||||||
|
--firefoxcss-customize-menu-dropdown: #fdfdfd80;
|
||||||
|
--firefoxcss-input-focus: black; /* no changes */
|
||||||
|
--firefoxcss-shortcut-item-active: hsla(240, 15%, 85%, 0.4);
|
||||||
|
--firefoxcss-shortcut-item-context-menu: hsla(0, 0%, 95%, 0.4);
|
||||||
|
--firefoxcss-shortcut-item-context-menu-border: hsla(0, 0%, 100%, 0.5);
|
||||||
|
--firefoxcss-shortcut-item-context-menu-separator: hsla(0, 0%, 50%, 0.2);
|
||||||
|
--firefoxcss-extra-search-bar-when-scroll: hsla(0, 0%, 10%, 0.3);
|
||||||
|
--firefoxcss-context-menu-three-dots: hsla(240, 10%, 50%, 0.6);
|
||||||
|
--firefoxcss-settings-wheel-color: hsla(240, 20%, 10%, 0.6);
|
||||||
|
--firefoxcss-settings-wheel-color-hover: hsla(240, 20%, 10%, 0.9);
|
||||||
|
--firefoxcss-shortcut-search-icon-color: #2896a870;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
--newtab-search-icon: url("chrome://global/skin/icons/search-glass.svg") !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document url("about:privatebrowsing") {
|
||||||
|
body {
|
||||||
|
background-color: var(--firefoxcss-main-bg-color) !important;
|
||||||
|
background-size: auto;
|
||||||
|
background-size: cover !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* html.private {
|
||||||
|
background-color: #1e1e1e80 !important;
|
||||||
|
background-image: url(ASSETS/icons/.jpg) !important ;
|
||||||
|
background-size: cover !important;
|
||||||
|
} */
|
||||||
|
|
||||||
|
#search-handoff-button {
|
||||||
|
appearance: none !important;
|
||||||
|
background-color: var(--firefoxcss-private-search-bg-color) !important;
|
||||||
|
border: none !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
border-top: 1px solid var(--firefoxcss-private-search-top-border) !important;
|
||||||
|
border-radius: 10px 10px 10px 10px !important;
|
||||||
|
fill: var(--firefoxcss-private-search-fill) !important;
|
||||||
|
box-shadow: var(--firefoxcss-private-search-box-shadow) !important;
|
||||||
|
transition: background-color 100ms ease-in, border-color 100ms ease-in,
|
||||||
|
fill 100ms ease-in !important;
|
||||||
|
backdrop-filter: blur(24px) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#search-handoff-button:hover,
|
||||||
|
#search-handoff-button:focus,
|
||||||
|
#search-handoff-button:active {
|
||||||
|
background-color: var(--firefoxcss-private-search-hover) !important;
|
||||||
|
border-top: 1px solid var(--firefoxcss-private-search-border-hover) !important;
|
||||||
|
fill: var(--firefoxcss-private-search-hover-fill) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#search-handoff-button .fake-textbox {
|
||||||
|
color: var(--firefoxcss-private-search-text) !important;
|
||||||
|
opacity: 0.8 !important;
|
||||||
|
transition: color 100ms ease-in, opacity 100ms ease-in !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#search-handoff-button:active>.fake-textbox,
|
||||||
|
#search-handoff-button:hover>.fake-textbox,
|
||||||
|
#search-handoff-button:focus>.fake-textbox {
|
||||||
|
color: var(--firefoxcss-private-search-text-hover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#search-handoff-button .fake-caret {
|
||||||
|
background: var(--firefoxcss-private-search-caret) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo-and-wordmark .wordmark {
|
||||||
|
fill: #8f25d1 !important;
|
||||||
|
opacity: 0.9 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.showPrivate.showSearch.container .info {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.private .search-inner-wrapper {
|
||||||
|
height: 42px !important;
|
||||||
|
/* 48px default */
|
||||||
|
}
|
||||||
|
|
||||||
|
.private .search-inner-wrapper .fake-caret {
|
||||||
|
top: 13px !important;
|
||||||
|
/* 16px default */
|
||||||
|
}
|
||||||
|
|
||||||
|
.private .search-inner-wrapper #search-handoff-button {
|
||||||
|
background-size: 20px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document url("about:home"),
|
||||||
|
url("about:newtab") {
|
||||||
|
|
||||||
|
body {
|
||||||
|
--newtab-background-color: var(--firefoxcss-main-bg-color) !important;
|
||||||
|
background-size: cover !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* For background blur */
|
||||||
|
/* .outer-wrapper {
|
||||||
|
background-color: #1e1e1e88 !important;
|
||||||
|
backdrop-filter: blur(24px) !important;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.search-wrapper .search-handoff-button {
|
||||||
|
appearance: none !important;
|
||||||
|
background-color: var(--firefoxcss-item-bg-color) !important;
|
||||||
|
color: var(--firefoxcss-search-color) !important;
|
||||||
|
border: none !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
border-top: 1px solid var(--firefoxcss-search-border-top-color) !important;
|
||||||
|
border-radius: 10px !important;
|
||||||
|
backdrop-filter: blur(24px) !important;
|
||||||
|
box-shadow: var(--firefoxcss-search-box-shadow) !important;
|
||||||
|
fill: var(--firefoxcss-search-text-fill) !important;
|
||||||
|
transition: background-color 250ms ease, border-color 250ms ease,
|
||||||
|
fill 250ms ease !important;
|
||||||
|
padding-inline-start: 48px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon.icon-settings.personalize-button {
|
||||||
|
color: var(--firefoxcss-settings-wheel-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon.icon-settings.personalize-button:hover {
|
||||||
|
color: var(--firefoxcss-settings-wheel-color-hover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body-wrapper .tile {
|
||||||
|
background-color: var(--firefoxcss-item-bg-color) !important;
|
||||||
|
border-top: 1px solid var(--firefoxcss-shortcut-item-top-border) !important;
|
||||||
|
box-shadow: var(--firefoxcss-shortcut-item-box-shadow) !important;
|
||||||
|
transition: background-color 250ms ease, border-color 250ms ease !important;
|
||||||
|
border-radius: 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body-wrapper .top-site-button:hover .tile {
|
||||||
|
/* background-color: rgba(230, 230, 230, 0.15) !important; */
|
||||||
|
background-color: var(--firefoxcss-item-hover-bg-color) !important;
|
||||||
|
border-top: 1px solid var(--firefoxcss-shortcut-item-top-border-hover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body-wrapper .top-site-button:focus-visible .tile {
|
||||||
|
/* background-color: rgba(230, 230, 230, 0.15) !important; */
|
||||||
|
background-color: var(--firefoxcss-item-hover-bg-color) !important;
|
||||||
|
border-top: 1px solid var(--firefoxcss-shortcut-item-top-border-hover) !important;
|
||||||
|
outline: 1px solid #e3b686a3 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#root .customize-menu {
|
||||||
|
background-image: var(--firefoxcss-customize-menu-bg-image) !important;
|
||||||
|
background-color: var(--firefoxcss-customize-menu) !important;
|
||||||
|
backdrop-filter: blur(24px) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-section .section .selector {
|
||||||
|
background-color: var(--firefoxcss-customize-menu-dropdown) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-sites-list:not(.dnd-active) .top-site-outer:hover:not(.active),
|
||||||
|
.top-site-outer .top-site-icon {
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
.top-site-outer .search-topsite {
|
||||||
|
backdrop-filter: blur(8px) !important;
|
||||||
|
background-color: var(--firefoxcss-shortcut-search-icon-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper input:focus {
|
||||||
|
color: var(--firefoxcss-input-focus) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-site-outer .top-site-button .title {
|
||||||
|
opacity: 0.6 !important;
|
||||||
|
transition: opacity 0.4s !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-site-outer .top-site-button:hover .title {
|
||||||
|
opacity: 1 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-site-outer .context-menu-button.icon:is(:active, :focus) {
|
||||||
|
fill: #f79743 !important;
|
||||||
|
background-color: transparent !important;
|
||||||
|
border: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-site-outer .context-menu-button {
|
||||||
|
fill: var(--firefoxcss-context-menu-three-dots) !important;
|
||||||
|
inset-inline-end: 2px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-outer .context-menu-button.icon:is(:active, :focus) {
|
||||||
|
fill: #f79743 !important;
|
||||||
|
background-color: var(--firefoxcss-item-bg-color) !important;
|
||||||
|
border: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-outer .context-menu-button.icon {
|
||||||
|
background-color: var(--firefoxcss-item-bg-color) !important;
|
||||||
|
border: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-site-button .title.has-icon.pinned span .icon {
|
||||||
|
opacity: 0.6 !important;
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-site-button .title.has-icon.pinned span:hover .icon {
|
||||||
|
display: inline-block !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus) {
|
||||||
|
background-color: var(--firefoxcss-shortcut-item-active) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-site-outer .context-menu,
|
||||||
|
.card-outer .context-menu {
|
||||||
|
background-image: var(--firefoxcss-customize-menu-bg-image) !important;
|
||||||
|
background-color: var(--firefoxcss-shortcut-item-context-menu) !important;
|
||||||
|
backdrop-filter: blur(32px) !important;
|
||||||
|
border: 1px solid var(--firefoxcss-shortcut-item-context-menu-border);
|
||||||
|
border-radius: 8px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-site-outer .context-menu>ul>li.separator,
|
||||||
|
.card-outer .context-menu>ul>li.separator {
|
||||||
|
border-bottom: 1px solid var(--firefoxcss-shortcut-item-context-menu-separator) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper .search-handoff-button input {
|
||||||
|
border-radius: 10px 10px 10px 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper .search-handoff-button .fake-caret {
|
||||||
|
top: 13px !important;
|
||||||
|
/*18 default. calculate=18-((52px - min-height)/2) */
|
||||||
|
inset-inline-start: 48px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper .logo-and-wordmark {
|
||||||
|
opacity: 0.9 !important;
|
||||||
|
order: 1 !important;
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
flex: 1 !important;
|
||||||
|
flex-basis: 20% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper .logo-and-wordmark .logo {
|
||||||
|
background-size: 60px !important;
|
||||||
|
height: 60px !important;
|
||||||
|
width: 60px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper .logo-and-wordmark .wordmark {
|
||||||
|
background-size: 132px !important;
|
||||||
|
height: 42px !important;
|
||||||
|
margin-inline-start: 12px !important;
|
||||||
|
width: 144px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.outer-wrapper .search-wrapper {
|
||||||
|
padding: 0px !important;
|
||||||
|
display: flex !important;
|
||||||
|
flex-direction: row !important;
|
||||||
|
flex-wrap: wrap !important;
|
||||||
|
justify-content: center !important;
|
||||||
|
align-items: center !important;
|
||||||
|
align-content: space-around !important;
|
||||||
|
gap: 20px 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.outer-wrapper .non-collapsible-section {
|
||||||
|
padding: 0 35px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body-wrapper .collapsible-section {
|
||||||
|
padding: 20px 25px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper .search-handoff-button,
|
||||||
|
.search-wrapper input {
|
||||||
|
background-size: 20px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper .search-inner-wrapper {
|
||||||
|
min-height: 42px !important;
|
||||||
|
/* 52px default */
|
||||||
|
order: 2 !important;
|
||||||
|
flex: 3 !important;
|
||||||
|
flex-basis: 60% !important;
|
||||||
|
top: 4px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* When there is overflow because of the height, search bar gets fixed position */
|
||||||
|
.outer-wrapper.fixed-search .search-wrapper {
|
||||||
|
backdrop-filter: blur(18px) !important;
|
||||||
|
gap: 0px 0px !important;
|
||||||
|
min-height: 60px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
body:not(.inline-onboarding) .fixed-search.visible-logo main {
|
||||||
|
padding-top: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.outer-wrapper.fixed-search .search-wrapper .search-inner-wrapper {
|
||||||
|
top: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.outer-wrapper.fixed-search .search-wrapper .search-inner-wrapper button.search-handoff-button {
|
||||||
|
backdrop-filter: blur(22px) !important;
|
||||||
|
background-color: var(--firefoxcss-extra-search-bar-when-scroll) !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
border: none !important;
|
||||||
|
margin: 0px 50px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper .search-handoff-button .fake-textbox {
|
||||||
|
opacity: 0.5 !important;
|
||||||
|
color: var(--firefoxcss-search-bar-text-color) !important;
|
||||||
|
transition: opacity 0.4s !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-wrapper .search-handoff-button:active>.fake-textbox,
|
||||||
|
.search-wrapper .search-handoff-button:hover>.fake-textbox,
|
||||||
|
.search-wrapper .search-handoff-button:focus>.fake-textbox {
|
||||||
|
opacity: 0.8 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-inner-wrapper:hover .search-handoff-button {
|
||||||
|
background-color: var(--firefoxcss-item-hover-bg-color) !important;
|
||||||
|
border-top: 1px solid var(--firefoxcss-shortcut-item-top-border-hover) !important;
|
||||||
|
fill: var(--firefoxcss-search-bar-fill-icon-hover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapsible-section .card-outer {
|
||||||
|
background-color: var(--firefoxcss-item-bg-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapsible-section .card-outer .card-preview-image-outer {
|
||||||
|
background-color: var(--firefoxcss-item-hover-bg-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compact-cards .card-outer .card-context {
|
||||||
|
background-color: var(--firefoxcss-item-bg-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 609px) {
|
||||||
|
.ds-outer-wrapper-breakpoint-override main {
|
||||||
|
width: 386px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 385px) {
|
||||||
|
.search-wrapper .search-inner-wrapper .search-handoff-button {
|
||||||
|
padding-top: 4px !important;
|
||||||
|
padding-bottom: 6px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ds-outer-wrapper-breakpoint-override main {
|
||||||
|
width: 266px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*.outer-wrapper .search-wrapper .search-handoff-button {
|
||||||
|
background-image: url("ASSETS/icons/search-glass.svg") !important;
|
||||||
|
background-size: 16px !important;
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document url("about:firefoxview") {
|
||||||
|
body {
|
||||||
|
background-color: var(--firefoxcss-main-bg-color) !important;
|
||||||
|
max-width: 80rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
body>main {
|
||||||
|
grid-template-columns: 1fr !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
main aside.content-container {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#colorways {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tabpickup-tabs-container #synced-tabs-placeholder {
|
||||||
|
background-color: var(--firefoxcss-item-bg-color) !important;
|
||||||
|
border-radius: 8px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#collapsible-tabs-container .closed-tabs-list .closed-tab-li:hover {
|
||||||
|
background-color: var(--firefoxcss-item-hover-bg-color) !important;
|
||||||
|
border-radius: 4px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document url("about:blank") {
|
||||||
|
|
||||||
|
/* html:not(#ublock0-epicker),
|
||||||
|
html:not(#ublock0-epicker) body, */
|
||||||
|
#newtab-customize-overlay {
|
||||||
|
background-color: var(--firefoxcss-main-bg-color) !important;
|
||||||
|
}
|
||||||
|
}
|
863
hosts/thinkpad/opt/neofetch.conf
Normal file
863
hosts/thinkpad/opt/neofetch.conf
Normal file
|
@ -0,0 +1,863 @@
|
||||||
|
# Source: https://github.com/Chick2D/neofetch-themes/
|
||||||
|
|
||||||
|
# Made by https://github.com/HimDek/ (HimDek)
|
||||||
|
# A matching oh-my-zsh theme: https://github.com/HimDek/Acenoster-ZSH-Theme/
|
||||||
|
|
||||||
|
# Customization Wiki https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
|
||||||
|
|
||||||
|
print_info() {
|
||||||
|
|
||||||
|
info "${cl2} ╭─" distro
|
||||||
|
info "${cl2} ├─" kernel
|
||||||
|
info "${cl2} ├─" users
|
||||||
|
info "${cl2} ├─" song
|
||||||
|
info "${cl2} ├─" packages
|
||||||
|
info "${cl2} ╰─" shell
|
||||||
|
echo
|
||||||
|
info "${cl6} ╭─" de
|
||||||
|
info "${cl6} ├─" term
|
||||||
|
info "${cl6} ├─" term_font
|
||||||
|
info "${cl6} ├─" theme
|
||||||
|
info "${cl6} ├─" icons
|
||||||
|
info "${cl6} ╰─" font
|
||||||
|
echo
|
||||||
|
info "${cl4} ╭─" model
|
||||||
|
info "${cl4} ├─" cpu
|
||||||
|
info "${cl4} ├─" gpu
|
||||||
|
# info "${cl4} ├─" gpu_driver
|
||||||
|
info "${cl4} ├─" resolution
|
||||||
|
info "${cl4} ├─" memory
|
||||||
|
info "${cl4} ├─ ${cl0}" disk
|
||||||
|
# info "${cl4} ├─ ${cl0} " battery
|
||||||
|
info "${cl4} ╰─" uptime
|
||||||
|
|
||||||
|
prin " "
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
##--------- Title
|
||||||
|
|
||||||
|
# Hide/Show Fully qualified domain name.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --title_fqdn
|
||||||
|
title_fqdn="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Kernel
|
||||||
|
|
||||||
|
# Shorten the output of the kernel function.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --kernel_shorthand
|
||||||
|
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '4.8.9-1-ARCH'
|
||||||
|
# off: 'Linux 4.8.9-1-ARCH'
|
||||||
|
kernel_shorthand="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Distro
|
||||||
|
|
||||||
|
# Shorten the output of the distro function
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'tiny', 'off'
|
||||||
|
# Flag: --distro_shorthand
|
||||||
|
# Supports: Everything except Windows and Haiku
|
||||||
|
distro_shorthand="off"
|
||||||
|
|
||||||
|
# Show/Hide OS Architecture.
|
||||||
|
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --os_arch
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Arch Linux x86_64'
|
||||||
|
# off: 'Arch Linux'
|
||||||
|
os_arch="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Uptime
|
||||||
|
|
||||||
|
# Shorten the output of the uptime function
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'tiny', 'off'
|
||||||
|
# Flag: --uptime_shorthand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '2 days, 10 hours, 3 mins'
|
||||||
|
# tiny: '2d 10h 3m'
|
||||||
|
# off: '2 days, 10 hours, 3 minutes'
|
||||||
|
uptime_shorthand="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Memory
|
||||||
|
|
||||||
|
# Show memory pecentage in output.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --memory_percent
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '1801MiB / 7881MiB (22%)'
|
||||||
|
# off: '1801MiB / 7881MiB'
|
||||||
|
memory_percent="on"
|
||||||
|
|
||||||
|
# Change memory output unit.
|
||||||
|
#
|
||||||
|
# Default: 'mib'
|
||||||
|
# Values: 'kib', 'mib', 'gib'
|
||||||
|
# Flag: --memory_unit
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# kib '1020928KiB / 7117824KiB'
|
||||||
|
# mib '1042MiB / 6951MiB'
|
||||||
|
# gib: ' 0.98GiB / 6.79GiB'
|
||||||
|
memory_unit="Gib"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Packages
|
||||||
|
|
||||||
|
# Show/Hide Package Manager names.
|
||||||
|
#
|
||||||
|
# Default: 'tiny'
|
||||||
|
# Values: 'on', 'tiny' 'off'
|
||||||
|
# Flag: --package_managers
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
|
||||||
|
# tiny: '908 (pacman, flatpak, snap)'
|
||||||
|
# off: '908'
|
||||||
|
package_managers="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Shell
|
||||||
|
|
||||||
|
# Show the path to $SHELL
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --shell_path
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '/bin/bash'
|
||||||
|
# off: 'bash'
|
||||||
|
shell_path="off"
|
||||||
|
|
||||||
|
# Show $SHELL version
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --shell_version
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'bash 4.4.5'
|
||||||
|
# off: 'bash'
|
||||||
|
shell_version="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- CPU
|
||||||
|
|
||||||
|
# CPU speed type
|
||||||
|
#
|
||||||
|
# Default: 'bios_limit'
|
||||||
|
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
|
||||||
|
# Flag: --speed_type
|
||||||
|
# Supports: Linux with 'cpufreq'
|
||||||
|
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
|
||||||
|
speed_type="scaling_max_freq"
|
||||||
|
|
||||||
|
# CPU speed shorthand
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'.
|
||||||
|
# Flag: --speed_shorthand
|
||||||
|
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'i7-6500U (4) @ 3.1GHz'
|
||||||
|
# off: 'i7-6500U (4) @ 3.100GHz'
|
||||||
|
speed_shorthand="on"
|
||||||
|
|
||||||
|
# Enable/Disable CPU brand in output.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --cpu_brand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Intel i7-6500U'
|
||||||
|
# off: 'i7-6500U (4)'
|
||||||
|
cpu_brand="off"
|
||||||
|
|
||||||
|
# CPU Speed
|
||||||
|
# Hide/Show CPU speed.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --cpu_speed
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||||
|
# off: 'Intel i7-6500U (4)'
|
||||||
|
cpu_speed="on"
|
||||||
|
|
||||||
|
# CPU Cores
|
||||||
|
# Display CPU cores in output
|
||||||
|
#
|
||||||
|
# Default: 'logical'
|
||||||
|
# Values: 'logical', 'physical', 'off'
|
||||||
|
# Flag: --cpu_cores
|
||||||
|
# Support: 'physical' doesn't work on BSD.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
|
||||||
|
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
|
||||||
|
# off: 'Intel i7-6500U @ 3.1GHz'
|
||||||
|
cpu_cores="logical"
|
||||||
|
|
||||||
|
# CPU Temperature
|
||||||
|
# Hide/Show CPU temperature.
|
||||||
|
# Note the temperature is added to the regular CPU function.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'C', 'F', 'off'
|
||||||
|
# Flag: --cpu_temp
|
||||||
|
# Supports: Linux, BSD
|
||||||
|
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
|
||||||
|
# coretemp kernel module. This only supports newer Intel processors.
|
||||||
|
#
|
||||||
|
# Example: sudo rm /var/lib/pacman/db.lck
|
||||||
|
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
|
||||||
|
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
|
||||||
|
# off: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||||
|
cpu_temp="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- GPU
|
||||||
|
|
||||||
|
# Enable/Disable GPU Brand
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --gpu_brand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'AMD HD 7950'
|
||||||
|
# off: 'HD 7950'
|
||||||
|
gpu_brand="off"
|
||||||
|
|
||||||
|
# Which GPU to display
|
||||||
|
#
|
||||||
|
# Default: 'all'
|
||||||
|
# Values: 'all', 'dedicated', 'integrated'
|
||||||
|
# Flag: --gpu_type
|
||||||
|
# Supports: Linux
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# all:
|
||||||
|
# GPU1: AMD HD 7950
|
||||||
|
# GPU2: Intel Integrated Graphics
|
||||||
|
#
|
||||||
|
# dedicated:
|
||||||
|
# GPU1: AMD HD 7950
|
||||||
|
#
|
||||||
|
# integrated:
|
||||||
|
# GPU1: Intel Integrated Graphics
|
||||||
|
gpu_type="all"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Resolution
|
||||||
|
|
||||||
|
# Display refresh rate next to each monitor
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --refresh_rate
|
||||||
|
# Supports: Doesn't work on Windows.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '1920x1080 @ 60Hz'
|
||||||
|
# off: '1920x1080'
|
||||||
|
refresh_rate="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Gtk Theme / Icons / Font
|
||||||
|
|
||||||
|
# Shorten output of GTK Theme / Icons / Font
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --gtk_shorthand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Numix, Adwaita'
|
||||||
|
# off: 'Numix [GTK2], Adwaita [GTK3]'
|
||||||
|
gtk_shorthand="off"
|
||||||
|
|
||||||
|
# Enable/Disable gtk2 Theme / Icons / Font
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --gtk2
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||||
|
# off: 'Adwaita [GTK3]'
|
||||||
|
gtk2="off"
|
||||||
|
|
||||||
|
# Enable/Disable gtk3 Theme / Icons / Font
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --gtk3
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||||
|
# off: 'Numix [GTK2]'
|
||||||
|
gtk3="off"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- IP Address
|
||||||
|
|
||||||
|
# Website to ping for the public IP
|
||||||
|
#
|
||||||
|
# Default: 'http://ident.me'
|
||||||
|
# Values: 'url'
|
||||||
|
# Flag: --ip_host
|
||||||
|
public_ip_host="http://ident.me"
|
||||||
|
|
||||||
|
# Public IP timeout.
|
||||||
|
#
|
||||||
|
# Default: '2'
|
||||||
|
# Values: 'int'
|
||||||
|
# Flag: --ip_timeout
|
||||||
|
public_ip_timeout=2
|
||||||
|
|
||||||
|
# Desktop Environment
|
||||||
|
|
||||||
|
# Show Desktop Environment version
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --de_version
|
||||||
|
de_version="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Disk
|
||||||
|
|
||||||
|
# Which disks to display.
|
||||||
|
# The values can be any /dev/sdXX, mount point or directory.
|
||||||
|
# NOTE: By default we only show the disk info for '/'.
|
||||||
|
#
|
||||||
|
# Default: '/'
|
||||||
|
# Values: '/', '/dev/sdXX', '/path/to/drive'.
|
||||||
|
# Flag: --disk_show
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# disk_show=('/' '/dev/sdb1'):
|
||||||
|
# 'Disk (/): 74G / 118G (66%)'
|
||||||
|
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
|
||||||
|
#
|
||||||
|
# disk_show=('/'):
|
||||||
|
# 'Disk (/): 74G / 118G (66%)'
|
||||||
|
#
|
||||||
|
disk_show=('/' '/media/terra')
|
||||||
|
|
||||||
|
# Disk subtitle.
|
||||||
|
# What to append to the Disk subtitle.
|
||||||
|
#
|
||||||
|
# Default: 'mount'
|
||||||
|
# Values: 'mount', 'name', 'dir', 'none'
|
||||||
|
# Flag: --disk_subtitle
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
|
||||||
|
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
|
||||||
|
#
|
||||||
|
# mount: 'Disk (/): 74G / 118G (66%)'
|
||||||
|
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
|
||||||
|
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
|
||||||
|
#
|
||||||
|
# dir: 'Disk (/): 74G / 118G (66%)'
|
||||||
|
# 'Disk (Local Disk): 74G / 118G (66%)'
|
||||||
|
# 'Disk (Videos): 74G / 118G (66%)'
|
||||||
|
#
|
||||||
|
# none: 'Disk: 74G / 118G (66%)'
|
||||||
|
# 'Disk: 74G / 118G (66%)'
|
||||||
|
# 'Disk: 74G / 118G (66%)'
|
||||||
|
disk_subtitle="dir"
|
||||||
|
|
||||||
|
# Disk percent.
|
||||||
|
# Show/Hide disk percent.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --disk_percent
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Disk (/): 74G / 118G (66%)'
|
||||||
|
# off: 'Disk (/): 74G / 118G'
|
||||||
|
disk_percent="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Song
|
||||||
|
|
||||||
|
# Manually specify a music player.
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', 'player-name'
|
||||||
|
# Flag: --music_player
|
||||||
|
#
|
||||||
|
# Available values for 'player-name':
|
||||||
|
#
|
||||||
|
# amarok
|
||||||
|
# audacious
|
||||||
|
# banshee
|
||||||
|
# bluemindo
|
||||||
|
# clementine
|
||||||
|
# cmus
|
||||||
|
# deadbeef
|
||||||
|
# deepin-music
|
||||||
|
# dragon
|
||||||
|
# elisa
|
||||||
|
# exaile
|
||||||
|
# gnome-music
|
||||||
|
# gmusicbrowser
|
||||||
|
# gogglesmm
|
||||||
|
# guayadeque
|
||||||
|
# io.elementary.music
|
||||||
|
# iTunes
|
||||||
|
# juk
|
||||||
|
# lollypop
|
||||||
|
# mocp
|
||||||
|
# mopidy
|
||||||
|
# mpd
|
||||||
|
# muine
|
||||||
|
# netease-cloud-music
|
||||||
|
# olivia
|
||||||
|
# playerctl
|
||||||
|
# pogo
|
||||||
|
# pragha
|
||||||
|
# qmmp
|
||||||
|
# quodlibet
|
||||||
|
# rhythmbox
|
||||||
|
# sayonara
|
||||||
|
# smplayer
|
||||||
|
# spotify
|
||||||
|
# strawberry
|
||||||
|
# tauonmb
|
||||||
|
# tomahawk
|
||||||
|
# vlc
|
||||||
|
# xmms2d
|
||||||
|
# xnoise
|
||||||
|
# yarock
|
||||||
|
music_player="playerctl"
|
||||||
|
|
||||||
|
# Format to display song information.
|
||||||
|
#
|
||||||
|
# Default: '%artist% - %album% - %title%'
|
||||||
|
# Values: '%artist%', '%album%', '%title%'
|
||||||
|
# Flag: --song_format
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# default: 'Song: Jet - Get Born - Sgt Major'
|
||||||
|
song_format="%artist% - %title%"
|
||||||
|
|
||||||
|
# Print the Artist, Album and Title on separate lines
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --song_shorthand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Artist: The Fratellis'
|
||||||
|
# 'Album: Costello Music'
|
||||||
|
# 'Song: Chelsea Dagger'
|
||||||
|
#
|
||||||
|
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
|
||||||
|
song_shorthand="off"
|
||||||
|
|
||||||
|
# 'mpc' arguments (specify a host, password etc).
|
||||||
|
#
|
||||||
|
# Default: ''
|
||||||
|
# Example: mpc_args=(-h HOST -P PASSWORD)
|
||||||
|
mpc_args=()
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Text Colors
|
||||||
|
|
||||||
|
# Text Colors
|
||||||
|
#
|
||||||
|
# Default: 'distro'
|
||||||
|
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||||
|
# Flag: --colors
|
||||||
|
#
|
||||||
|
# Each number represents a different part of the text in
|
||||||
|
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# colors=(distro) - Text is colored based on Distro colors.
|
||||||
|
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
|
||||||
|
colors=(distro)
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Text Options
|
||||||
|
|
||||||
|
# Toggle bold text
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --bold
|
||||||
|
bold="on"
|
||||||
|
|
||||||
|
# Enable/Disable Underline
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --underline
|
||||||
|
underline_enabled="on"
|
||||||
|
|
||||||
|
# Underline character
|
||||||
|
#
|
||||||
|
# Default: '-'
|
||||||
|
# Values: 'string'
|
||||||
|
# Flag: --underline_char
|
||||||
|
underline_char=""
|
||||||
|
|
||||||
|
# Info Separator
|
||||||
|
# Replace the default separator with the specified string.
|
||||||
|
#
|
||||||
|
# Default: ':'
|
||||||
|
# Flag: --separator
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# separator="->": 'Shell-> bash'
|
||||||
|
# separator=" =": 'WM = dwm'
|
||||||
|
separator=" "
|
||||||
|
|
||||||
|
##--------- Color Blocks
|
||||||
|
|
||||||
|
# Color block range
|
||||||
|
# The range of colors to print.
|
||||||
|
#
|
||||||
|
# Default: '0', '15'
|
||||||
|
# Values: 'num'
|
||||||
|
# Flag: --block_range
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# Display colors 0-7 in the blocks. (8 colors)
|
||||||
|
# neofetch --block_range 0 7
|
||||||
|
#
|
||||||
|
# Display colors 0-15 in the blocks. (16 colors)
|
||||||
|
# neofetch --block_range 0 15
|
||||||
|
#block_range=(8 15)
|
||||||
|
block_range=(1 8)
|
||||||
|
|
||||||
|
# Colors for custom colorblocks
|
||||||
|
#colors
|
||||||
|
#bold="(tput bold)"
|
||||||
|
magenta="\033[1;35m"
|
||||||
|
green="\033[1;32m"
|
||||||
|
white="\033[1;37m"
|
||||||
|
blue="\033[1;34m"
|
||||||
|
red="\033[1;31m"
|
||||||
|
black="\033[1;40;30m"
|
||||||
|
yellow="\033[1;33m"
|
||||||
|
cyan="\033[1;36m"
|
||||||
|
reset="\033[0m"
|
||||||
|
bgyellow="\033[1;43;33m"
|
||||||
|
bgwhite="\033[1;47;37m"
|
||||||
|
cl0="${reset}"
|
||||||
|
cl1="${magenta}"
|
||||||
|
cl2="${green}"
|
||||||
|
cl3="${white}"
|
||||||
|
cl4="${blue}"
|
||||||
|
cl5="${red}"
|
||||||
|
cl6="${yellow}"
|
||||||
|
cl7="${cyan}"
|
||||||
|
cl8="${black}"
|
||||||
|
cl9="${bgyellow}"
|
||||||
|
cl10="${bgwhite}"
|
||||||
|
|
||||||
|
# Toggle color blocks
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --color_blocks
|
||||||
|
color_blocks="on"
|
||||||
|
|
||||||
|
# Color block width in spaces
|
||||||
|
#
|
||||||
|
# Default: '3'
|
||||||
|
# Values: 'num'
|
||||||
|
# Flag: --block_width
|
||||||
|
block_width=4
|
||||||
|
|
||||||
|
# Color block height in lines
|
||||||
|
#
|
||||||
|
# Default: '1'
|
||||||
|
# Values: 'num'
|
||||||
|
# Flag: --block_height
|
||||||
|
block_height=1
|
||||||
|
|
||||||
|
|
||||||
|
# Color Alignment
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', 'num'
|
||||||
|
# Flag: --col_offset
|
||||||
|
#
|
||||||
|
# Number specifies how far from the left side of the terminal (in spaces) to
|
||||||
|
# begin printing the columns, in case you want to e.g. center them under your
|
||||||
|
# text.
|
||||||
|
# Example:
|
||||||
|
# col_offset="auto" - Default behavior of neofetch
|
||||||
|
# col_offset=7 - Leave 7 spaces then print the colors
|
||||||
|
col_offset="auto"
|
||||||
|
|
||||||
|
##--------- Progress Bars
|
||||||
|
|
||||||
|
# Bar characters
|
||||||
|
#
|
||||||
|
# Default: '-', '='
|
||||||
|
# Values: 'string', 'string'
|
||||||
|
# Flag: --bar_char
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# neofetch --bar_char 'elapsed' 'total'
|
||||||
|
# neofetch --bar_char '-' '='
|
||||||
|
bar_char_elapsed="-"
|
||||||
|
bar_char_total="="
|
||||||
|
|
||||||
|
# Toggle Bar border
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --bar_border
|
||||||
|
bar_border="on"
|
||||||
|
|
||||||
|
# Progress bar length in spaces
|
||||||
|
# Number of chars long to make the progress bars.
|
||||||
|
#
|
||||||
|
# Default: '15'
|
||||||
|
# Values: 'num'
|
||||||
|
# Flag: --bar_length
|
||||||
|
bar_length=15
|
||||||
|
|
||||||
|
# Progress bar colors
|
||||||
|
# When set to distro, uses your distro's logo colors.
|
||||||
|
#
|
||||||
|
# Default: 'distro', 'distro'
|
||||||
|
# Values: 'distro', 'num'
|
||||||
|
# Flag: --bar_colors
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# neofetch --bar_colors 3 4
|
||||||
|
# neofetch --bar_colors distro 5
|
||||||
|
bar_color_elapsed="distro"
|
||||||
|
bar_color_total="distro"
|
||||||
|
|
||||||
|
# Info display
|
||||||
|
# Display a bar with the info.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'bar', 'infobar', 'barinfo', 'off'
|
||||||
|
# Flags: --cpu_display
|
||||||
|
# --memory_display
|
||||||
|
# --battery_display
|
||||||
|
# --disk_display
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# bar: '[---=======]'
|
||||||
|
# infobar: 'info [---=======]'
|
||||||
|
# barinfo: '[---=======] info'
|
||||||
|
# off: 'info'
|
||||||
|
cpu_display="on"
|
||||||
|
memory_display="on"
|
||||||
|
battery_display="on"
|
||||||
|
disk_display="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Backend Settings
|
||||||
|
|
||||||
|
# Image backend.
|
||||||
|
#
|
||||||
|
# Default: 'ascii'
|
||||||
|
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
|
||||||
|
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
|
||||||
|
# Flag: --backend
|
||||||
|
image_backend="ascii"
|
||||||
|
|
||||||
|
# Image Source
|
||||||
|
#
|
||||||
|
# Which image or ascii file to display.
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
|
||||||
|
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
|
||||||
|
# Flag: --source
|
||||||
|
#
|
||||||
|
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
|
||||||
|
# In ascii mode, distro ascii art will be used and in an image mode, your
|
||||||
|
# wallpaper will be used.
|
||||||
|
image_source="auto"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Ascii Options
|
||||||
|
|
||||||
|
# Ascii distro
|
||||||
|
# Which distro's ascii art to display.
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', 'distro_name'
|
||||||
|
# Flag: --ascii_distro
|
||||||
|
# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS",
|
||||||
|
# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs,
|
||||||
|
# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock,
|
||||||
|
# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
|
||||||
|
# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
|
||||||
|
# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover,
|
||||||
|
# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin,
|
||||||
|
# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary,
|
||||||
|
# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
|
||||||
|
# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
|
||||||
|
# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra,
|
||||||
|
# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion,
|
||||||
|
# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite,
|
||||||
|
# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva,
|
||||||
|
# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
|
||||||
|
# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner,
|
||||||
|
# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba,
|
||||||
|
# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD,
|
||||||
|
# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint,
|
||||||
|
# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
|
||||||
|
# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
|
||||||
|
# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
|
||||||
|
# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
|
||||||
|
# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
|
||||||
|
# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
|
||||||
|
# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
|
||||||
|
# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
|
||||||
|
# and IRIX have ascii logos
|
||||||
|
# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
|
||||||
|
# Use '{distro name}_old' to use the old logos.
|
||||||
|
# NOTE: Ubuntu has flavor variants.
|
||||||
|
# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
|
||||||
|
# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
|
||||||
|
# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
|
||||||
|
# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
|
||||||
|
# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
|
||||||
|
# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
|
||||||
|
# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
|
||||||
|
# postmarketOS, and Void have a smaller logo variant.
|
||||||
|
# Use '{distro name}_small' to use the small variants.
|
||||||
|
ascii_distro="auto"
|
||||||
|
|
||||||
|
# Ascii Colors
|
||||||
|
#
|
||||||
|
# Default: 'distro'
|
||||||
|
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||||
|
# Flag: --ascii_colors
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
|
||||||
|
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
|
||||||
|
ascii_colors=(distro)
|
||||||
|
|
||||||
|
# Bold ascii logo
|
||||||
|
# Whether or not to bold the ascii logo.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --ascii_bold
|
||||||
|
ascii_bold="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Image Options
|
||||||
|
|
||||||
|
# Image loop
|
||||||
|
# Setting this to on will make neofetch redraw the image constantly until
|
||||||
|
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --loop
|
||||||
|
image_loop="off"
|
||||||
|
|
||||||
|
# Thumbnail directory
|
||||||
|
#
|
||||||
|
# Default: '~/.cache/thumbnails/neofetch'
|
||||||
|
# Values: 'dir'
|
||||||
|
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
||||||
|
|
||||||
|
# Crop mode
|
||||||
|
#
|
||||||
|
# Default: 'normal'
|
||||||
|
# Values: 'normal', 'fit', 'fill'
|
||||||
|
# Flag: --crop_mode
|
||||||
|
#
|
||||||
|
# See this wiki page to learn about the fit and fill options.
|
||||||
|
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
|
||||||
|
crop_mode="normal"
|
||||||
|
|
||||||
|
# Crop offset
|
||||||
|
# Note: Only affects 'normal' crop mode.
|
||||||
|
#
|
||||||
|
# Default: 'center'
|
||||||
|
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
|
||||||
|
# 'east', 'southwest', 'south', 'southeast'
|
||||||
|
# Flag: --crop_offset
|
||||||
|
crop_offset="center"
|
||||||
|
|
||||||
|
# Image size
|
||||||
|
# The image is half the terminal width by default.
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', '00px', '00%', 'none'
|
||||||
|
# Flags: --image_size
|
||||||
|
# --size
|
||||||
|
image_size="auto"
|
||||||
|
|
||||||
|
# Gap between image and text
|
||||||
|
#
|
||||||
|
# Default: '3'
|
||||||
|
# Values: 'num', '-num'
|
||||||
|
# Flag: --gap
|
||||||
|
gap=2
|
||||||
|
|
||||||
|
# Image offsets
|
||||||
|
# Only works with the w3m backend.
|
||||||
|
#
|
||||||
|
# Default: '0'
|
||||||
|
# Values: 'px'
|
||||||
|
# Flags: --xoffset
|
||||||
|
# --yoffset
|
||||||
|
yoffset=0
|
||||||
|
xoffset=0
|
||||||
|
|
||||||
|
# Image background color
|
||||||
|
# Only works with the w3m backend.
|
||||||
|
#
|
||||||
|
# Default: ''
|
||||||
|
# Values: 'color', 'blue'
|
||||||
|
# Flag: --bg_color
|
||||||
|
background_color=
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Misc Options
|
||||||
|
|
||||||
|
# Stdout mode
|
||||||
|
# Turn off all colors and disables image backend (ASCII/Image).
|
||||||
|
# Useful for piping into another command.
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
stdout="off"
|
469
hosts/thinkpad/opt/st/st.h
Executable file
469
hosts/thinkpad/opt/st/st.h
Executable file
|
@ -0,0 +1,469 @@
|
||||||
|
static char *font = "JetBrainsMono Nerd Font:pixelsize=12:antialias=true:autohint=true";
|
||||||
|
static int borderpx = 8;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* What program is execed by st depends of these precedence rules:
|
||||||
|
* 1: program passed with -e
|
||||||
|
* 2: scroll and/or utmp
|
||||||
|
* 3: SHELL environment variable
|
||||||
|
* 4: value of shell in /etc/passwd
|
||||||
|
* 5: value of shell in config.h
|
||||||
|
*/
|
||||||
|
static char *shell = "/bin/zsh";
|
||||||
|
char *utmp = NULL;
|
||||||
|
/* scroll program: to enable use a string like "scroll" */
|
||||||
|
char *scroll = NULL;
|
||||||
|
char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400";
|
||||||
|
|
||||||
|
/* identification sequence returned in DA and DECID */
|
||||||
|
char *vtiden = "\033[?6c";
|
||||||
|
|
||||||
|
/* Kerning / character bounding-box multipliers */
|
||||||
|
static float cwscale = 1.0;
|
||||||
|
static float chscale = 1.0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* word delimiter string
|
||||||
|
*
|
||||||
|
* More advanced example: L" `'\"()[]{}"
|
||||||
|
*/
|
||||||
|
wchar_t *worddelimiters = L" ";
|
||||||
|
|
||||||
|
/* selection timeouts (in milliseconds) */
|
||||||
|
static unsigned int doubleclicktimeout = 300;
|
||||||
|
static unsigned int tripleclicktimeout = 600;
|
||||||
|
|
||||||
|
/* alt screens */
|
||||||
|
int allowaltscreen = 1;
|
||||||
|
|
||||||
|
/* allow certain non-interactive (insecure) window operations such as:
|
||||||
|
setting the clipboard text */
|
||||||
|
int allowwindowops = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* draw latency range in ms - from new content/keypress/etc until drawing.
|
||||||
|
* within this range, st draws when content stops arriving (idle). mostly it's
|
||||||
|
* near minlatency, but it waits longer for slow updates to avoid partial draw.
|
||||||
|
* low minlatency will tear/flicker more, as it can "detect" idle too early.
|
||||||
|
*/
|
||||||
|
static double minlatency = 2;
|
||||||
|
static double maxlatency = 33;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* blinking timeout (set to 0 to disable blinking) for the terminal blinking
|
||||||
|
* attribute.
|
||||||
|
*/
|
||||||
|
static unsigned int blinktimeout = 800;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* thickness of underline and bar cursors
|
||||||
|
*/
|
||||||
|
static unsigned int cursorthickness = 2;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* bell volume. It must be a value between -100 and 100. Use 0 for disabling
|
||||||
|
* it
|
||||||
|
*/
|
||||||
|
static int bellvolume = 0;
|
||||||
|
|
||||||
|
/* default TERM value */
|
||||||
|
char *termname = "st-256color";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* spaces per tab
|
||||||
|
*
|
||||||
|
* When you are changing this value, don't forget to adapt the »it« value in
|
||||||
|
* the st.info and appropriately install the st.info in the environment where
|
||||||
|
* you use this st version.
|
||||||
|
*
|
||||||
|
* it#$tabspaces,
|
||||||
|
*
|
||||||
|
* Secondly make sure your kernel is not expanding tabs. When running `stty
|
||||||
|
* -a` »tab0« should appear. You can tell the terminal to not expand tabs by
|
||||||
|
* running following command:
|
||||||
|
*
|
||||||
|
* stty tabs
|
||||||
|
*/
|
||||||
|
unsigned int tabspaces = 8;
|
||||||
|
|
||||||
|
/* Terminal colors (16 first used in escape sequence) */
|
||||||
|
static const char *colorname[] = {
|
||||||
|
/* 8 normal colors */
|
||||||
|
"black",
|
||||||
|
"red3",
|
||||||
|
"green3",
|
||||||
|
"yellow3",
|
||||||
|
"blue2",
|
||||||
|
"magenta3",
|
||||||
|
"cyan3",
|
||||||
|
"gray90",
|
||||||
|
|
||||||
|
/* 8 bright colors */
|
||||||
|
"gray50",
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"yellow",
|
||||||
|
"#5c5cff",
|
||||||
|
"magenta",
|
||||||
|
"cyan",
|
||||||
|
"white",
|
||||||
|
|
||||||
|
[255] = 0,
|
||||||
|
"#191830",
|
||||||
|
"#FFF",
|
||||||
|
|
||||||
|
/* more colors can be added after 255 to use with DefaultXX */
|
||||||
|
"#cccccc",
|
||||||
|
"#555555",
|
||||||
|
"gray90", /* default foreground colour */
|
||||||
|
"black", /* default background colour */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Default colors (colorname index)
|
||||||
|
* foreground, background, cursor, reverse cursor
|
||||||
|
*/
|
||||||
|
unsigned int defaultfg = 257;
|
||||||
|
unsigned int defaultbg = 256;
|
||||||
|
unsigned int defaultcs = 257;
|
||||||
|
static unsigned int defaultrcs = 257;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Default shape of cursor
|
||||||
|
* 2: Block ("█")
|
||||||
|
* 4: Underline ("_")
|
||||||
|
* 6: Bar ("|")
|
||||||
|
* 7: Snowman ("☃")
|
||||||
|
*/
|
||||||
|
static unsigned int cursorshape = 6;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Default columns and rows numbers
|
||||||
|
*/
|
||||||
|
|
||||||
|
static unsigned int cols = 80;
|
||||||
|
static unsigned int rows = 24;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Default colour and shape of the mouse cursor
|
||||||
|
*/
|
||||||
|
static unsigned int mouseshape = XC_xterm;
|
||||||
|
static unsigned int mousefg = 7;
|
||||||
|
static unsigned int mousebg = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Color used to display font attributes when fontconfig selected a font which
|
||||||
|
* doesn't match the ones requested.
|
||||||
|
*/
|
||||||
|
static unsigned int defaultattr = 11;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set).
|
||||||
|
* Note that if you want to use ShiftMask with selmasks, set this to an other
|
||||||
|
* modifier, set to 0 to not use it.
|
||||||
|
*/
|
||||||
|
static uint forcemousemod = ShiftMask;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Internal mouse shortcuts.
|
||||||
|
* Beware that overloading Button1 will disable the selection.
|
||||||
|
*/
|
||||||
|
static MouseShortcut mshortcuts[] = {
|
||||||
|
/* mask button function argument release */
|
||||||
|
{ XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
|
||||||
|
{ ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} },
|
||||||
|
{ XK_ANY_MOD, Button4, ttysend, {.s = "\031"} },
|
||||||
|
{ ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} },
|
||||||
|
{ XK_ANY_MOD, Button5, ttysend, {.s = "\005"} },
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Internal keyboard shortcuts. */
|
||||||
|
#define MODKEY Mod1Mask
|
||||||
|
#define TERMMOD (ControlMask|ShiftMask)
|
||||||
|
|
||||||
|
static Shortcut shortcuts[] = {
|
||||||
|
/* mask keysym function argument */
|
||||||
|
{ XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} },
|
||||||
|
{ ControlMask, XK_Print, toggleprinter, {.i = 0} },
|
||||||
|
{ ShiftMask, XK_Print, printscreen, {.i = 0} },
|
||||||
|
{ XK_ANY_MOD, XK_Print, printsel, {.i = 0} },
|
||||||
|
{ TERMMOD, XK_Prior, zoom, {.f = +1} },
|
||||||
|
{ TERMMOD, XK_Next, zoom, {.f = -1} },
|
||||||
|
{ TERMMOD, XK_Home, zoomreset, {.f = 0} },
|
||||||
|
{ TERMMOD, XK_C, clipcopy, {.i = 0} },
|
||||||
|
{ TERMMOD, XK_V, clippaste, {.i = 0} },
|
||||||
|
{ TERMMOD, XK_Y, selpaste, {.i = 0} },
|
||||||
|
{ ShiftMask, XK_Insert, selpaste, {.i = 0} },
|
||||||
|
{ TERMMOD, XK_Num_Lock, numlock, {.i = 0} },
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Special keys (change & recompile st.info accordingly)
|
||||||
|
*
|
||||||
|
* Mask value:
|
||||||
|
* * Use XK_ANY_MOD to match the key no matter modifiers state
|
||||||
|
* * Use XK_NO_MOD to match the key alone (no modifiers)
|
||||||
|
* appkey value:
|
||||||
|
* * 0: no value
|
||||||
|
* * > 0: keypad application mode enabled
|
||||||
|
* * = 2: term.numlock = 1
|
||||||
|
* * < 0: keypad application mode disabled
|
||||||
|
* appcursor value:
|
||||||
|
* * 0: no value
|
||||||
|
* * > 0: cursor application mode enabled
|
||||||
|
* * < 0: cursor application mode disabled
|
||||||
|
*
|
||||||
|
* Be careful with the order of the definitions because st searches in
|
||||||
|
* this table sequentially, so any XK_ANY_MOD must be in the last
|
||||||
|
* position for a key.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If you want keys other than the X11 function keys (0xFD00 - 0xFFFF)
|
||||||
|
* to be mapped below, add them to this array.
|
||||||
|
*/
|
||||||
|
static KeySym mappedkeys[] = { -1 };
|
||||||
|
|
||||||
|
/*
|
||||||
|
* State bits to ignore when matching key or button events. By default,
|
||||||
|
* numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored.
|
||||||
|
*/
|
||||||
|
static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the huge key array which defines all compatibility to the Linux
|
||||||
|
* world. Please decide about changes wisely.
|
||||||
|
*/
|
||||||
|
static Key key[] = {
|
||||||
|
/* keysym mask string appkey appcursor */
|
||||||
|
{ XK_KP_Home, ShiftMask, "\033[2J", 0, -1},
|
||||||
|
{ XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1},
|
||||||
|
{ XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1},
|
||||||
|
{ XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1},
|
||||||
|
{ XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0},
|
||||||
|
{ XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1},
|
||||||
|
{ XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1},
|
||||||
|
{ XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0},
|
||||||
|
{ XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1},
|
||||||
|
{ XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1},
|
||||||
|
{ XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0},
|
||||||
|
{ XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1},
|
||||||
|
{ XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1},
|
||||||
|
{ XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0},
|
||||||
|
{ XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1},
|
||||||
|
{ XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1},
|
||||||
|
{ XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0},
|
||||||
|
{ XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
|
||||||
|
{ XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0},
|
||||||
|
{ XK_KP_End, ControlMask, "\033[J", -1, 0},
|
||||||
|
{ XK_KP_End, ControlMask, "\033[1;5F", +1, 0},
|
||||||
|
{ XK_KP_End, ShiftMask, "\033[K", -1, 0},
|
||||||
|
{ XK_KP_End, ShiftMask, "\033[1;2F", +1, 0},
|
||||||
|
{ XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0},
|
||||||
|
{ XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0},
|
||||||
|
{ XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0},
|
||||||
|
{ XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0},
|
||||||
|
{ XK_KP_Insert, ShiftMask, "\033[4l", -1, 0},
|
||||||
|
{ XK_KP_Insert, ControlMask, "\033[L", -1, 0},
|
||||||
|
{ XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0},
|
||||||
|
{ XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
|
||||||
|
{ XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
|
||||||
|
{ XK_KP_Delete, ControlMask, "\033[M", -1, 0},
|
||||||
|
{ XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0},
|
||||||
|
{ XK_KP_Delete, ShiftMask, "\033[2K", -1, 0},
|
||||||
|
{ XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0},
|
||||||
|
{ XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0},
|
||||||
|
{ XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
|
||||||
|
{ XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0},
|
||||||
|
{ XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0},
|
||||||
|
{ XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0},
|
||||||
|
{ XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0},
|
||||||
|
{ XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0},
|
||||||
|
{ XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0},
|
||||||
|
{ XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0},
|
||||||
|
{ XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0},
|
||||||
|
{ XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0},
|
||||||
|
{ XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0},
|
||||||
|
{ XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0},
|
||||||
|
{ XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0},
|
||||||
|
{ XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0},
|
||||||
|
{ XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0},
|
||||||
|
{ XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0},
|
||||||
|
{ XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0},
|
||||||
|
{ XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0},
|
||||||
|
{ XK_Up, ShiftMask, "\033[1;2A", 0, 0},
|
||||||
|
{ XK_Up, Mod1Mask, "\033[1;3A", 0, 0},
|
||||||
|
{ XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0},
|
||||||
|
{ XK_Up, ControlMask, "\033[1;5A", 0, 0},
|
||||||
|
{ XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0},
|
||||||
|
{ XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0},
|
||||||
|
{ XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0},
|
||||||
|
{ XK_Up, XK_ANY_MOD, "\033[A", 0, -1},
|
||||||
|
{ XK_Up, XK_ANY_MOD, "\033OA", 0, +1},
|
||||||
|
{ XK_Down, ShiftMask, "\033[1;2B", 0, 0},
|
||||||
|
{ XK_Down, Mod1Mask, "\033[1;3B", 0, 0},
|
||||||
|
{ XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0},
|
||||||
|
{ XK_Down, ControlMask, "\033[1;5B", 0, 0},
|
||||||
|
{ XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0},
|
||||||
|
{ XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0},
|
||||||
|
{ XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0},
|
||||||
|
{ XK_Down, XK_ANY_MOD, "\033[B", 0, -1},
|
||||||
|
{ XK_Down, XK_ANY_MOD, "\033OB", 0, +1},
|
||||||
|
{ XK_Left, ShiftMask, "\033[1;2D", 0, 0},
|
||||||
|
{ XK_Left, Mod1Mask, "\033[1;3D", 0, 0},
|
||||||
|
{ XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0},
|
||||||
|
{ XK_Left, ControlMask, "\033[1;5D", 0, 0},
|
||||||
|
{ XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0},
|
||||||
|
{ XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0},
|
||||||
|
{ XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0},
|
||||||
|
{ XK_Left, XK_ANY_MOD, "\033[D", 0, -1},
|
||||||
|
{ XK_Left, XK_ANY_MOD, "\033OD", 0, +1},
|
||||||
|
{ XK_Right, ShiftMask, "\033[1;2C", 0, 0},
|
||||||
|
{ XK_Right, Mod1Mask, "\033[1;3C", 0, 0},
|
||||||
|
{ XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0},
|
||||||
|
{ XK_Right, ControlMask, "\033[1;5C", 0, 0},
|
||||||
|
{ XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0},
|
||||||
|
{ XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0},
|
||||||
|
{ XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0},
|
||||||
|
{ XK_Right, XK_ANY_MOD, "\033[C", 0, -1},
|
||||||
|
{ XK_Right, XK_ANY_MOD, "\033OC", 0, +1},
|
||||||
|
{ XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0},
|
||||||
|
{ XK_Return, Mod1Mask, "\033\r", 0, 0},
|
||||||
|
{ XK_Return, XK_ANY_MOD, "\r", 0, 0},
|
||||||
|
{ XK_Insert, ShiftMask, "\033[4l", -1, 0},
|
||||||
|
{ XK_Insert, ShiftMask, "\033[2;2~", +1, 0},
|
||||||
|
{ XK_Insert, ControlMask, "\033[L", -1, 0},
|
||||||
|
{ XK_Insert, ControlMask, "\033[2;5~", +1, 0},
|
||||||
|
{ XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
|
||||||
|
{ XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
|
||||||
|
{ XK_Delete, ControlMask, "\033[M", -1, 0},
|
||||||
|
{ XK_Delete, ControlMask, "\033[3;5~", +1, 0},
|
||||||
|
{ XK_Delete, ShiftMask, "\033[2K", -1, 0},
|
||||||
|
{ XK_Delete, ShiftMask, "\033[3;2~", +1, 0},
|
||||||
|
{ XK_Delete, XK_ANY_MOD, "\033[P", -1, 0},
|
||||||
|
{ XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
|
||||||
|
{ XK_BackSpace, XK_NO_MOD, "\177", 0, 0},
|
||||||
|
{ XK_BackSpace, Mod1Mask, "\033\177", 0, 0},
|
||||||
|
{ XK_Home, ShiftMask, "\033[2J", 0, -1},
|
||||||
|
{ XK_Home, ShiftMask, "\033[1;2H", 0, +1},
|
||||||
|
{ XK_Home, XK_ANY_MOD, "\033[H", 0, -1},
|
||||||
|
{ XK_Home, XK_ANY_MOD, "\033[1~", 0, +1},
|
||||||
|
{ XK_End, ControlMask, "\033[J", -1, 0},
|
||||||
|
{ XK_End, ControlMask, "\033[1;5F", +1, 0},
|
||||||
|
{ XK_End, ShiftMask, "\033[K", -1, 0},
|
||||||
|
{ XK_End, ShiftMask, "\033[1;2F", +1, 0},
|
||||||
|
{ XK_End, XK_ANY_MOD, "\033[4~", 0, 0},
|
||||||
|
{ XK_Prior, ControlMask, "\033[5;5~", 0, 0},
|
||||||
|
{ XK_Prior, ShiftMask, "\033[5;2~", 0, 0},
|
||||||
|
{ XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
|
||||||
|
{ XK_Next, ControlMask, "\033[6;5~", 0, 0},
|
||||||
|
{ XK_Next, ShiftMask, "\033[6;2~", 0, 0},
|
||||||
|
{ XK_Next, XK_ANY_MOD, "\033[6~", 0, 0},
|
||||||
|
{ XK_F1, XK_NO_MOD, "\033OP" , 0, 0},
|
||||||
|
{ XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0},
|
||||||
|
{ XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0},
|
||||||
|
{ XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0},
|
||||||
|
{ XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0},
|
||||||
|
{ XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0},
|
||||||
|
{ XK_F2, XK_NO_MOD, "\033OQ" , 0, 0},
|
||||||
|
{ XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0},
|
||||||
|
{ XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0},
|
||||||
|
{ XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0},
|
||||||
|
{ XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0},
|
||||||
|
{ XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0},
|
||||||
|
{ XK_F3, XK_NO_MOD, "\033OR" , 0, 0},
|
||||||
|
{ XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0},
|
||||||
|
{ XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0},
|
||||||
|
{ XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0},
|
||||||
|
{ XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0},
|
||||||
|
{ XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0},
|
||||||
|
{ XK_F4, XK_NO_MOD, "\033OS" , 0, 0},
|
||||||
|
{ XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0},
|
||||||
|
{ XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0},
|
||||||
|
{ XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0},
|
||||||
|
{ XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0},
|
||||||
|
{ XK_F5, XK_NO_MOD, "\033[15~", 0, 0},
|
||||||
|
{ XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0},
|
||||||
|
{ XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0},
|
||||||
|
{ XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0},
|
||||||
|
{ XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0},
|
||||||
|
{ XK_F6, XK_NO_MOD, "\033[17~", 0, 0},
|
||||||
|
{ XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0},
|
||||||
|
{ XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0},
|
||||||
|
{ XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0},
|
||||||
|
{ XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0},
|
||||||
|
{ XK_F7, XK_NO_MOD, "\033[18~", 0, 0},
|
||||||
|
{ XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0},
|
||||||
|
{ XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0},
|
||||||
|
{ XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0},
|
||||||
|
{ XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0},
|
||||||
|
{ XK_F8, XK_NO_MOD, "\033[19~", 0, 0},
|
||||||
|
{ XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0},
|
||||||
|
{ XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0},
|
||||||
|
{ XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0},
|
||||||
|
{ XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0},
|
||||||
|
{ XK_F9, XK_NO_MOD, "\033[20~", 0, 0},
|
||||||
|
{ XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0},
|
||||||
|
{ XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0},
|
||||||
|
{ XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0},
|
||||||
|
{ XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0},
|
||||||
|
{ XK_F10, XK_NO_MOD, "\033[21~", 0, 0},
|
||||||
|
{ XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0},
|
||||||
|
{ XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0},
|
||||||
|
{ XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0},
|
||||||
|
{ XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0},
|
||||||
|
{ XK_F11, XK_NO_MOD, "\033[23~", 0, 0},
|
||||||
|
{ XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0},
|
||||||
|
{ XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0},
|
||||||
|
{ XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0},
|
||||||
|
{ XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0},
|
||||||
|
{ XK_F12, XK_NO_MOD, "\033[24~", 0, 0},
|
||||||
|
{ XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0},
|
||||||
|
{ XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0},
|
||||||
|
{ XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0},
|
||||||
|
{ XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0},
|
||||||
|
{ XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0},
|
||||||
|
{ XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0},
|
||||||
|
{ XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0},
|
||||||
|
{ XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0},
|
||||||
|
{ XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0},
|
||||||
|
{ XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0},
|
||||||
|
{ XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0},
|
||||||
|
{ XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0},
|
||||||
|
{ XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0},
|
||||||
|
{ XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0},
|
||||||
|
{ XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0},
|
||||||
|
{ XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0},
|
||||||
|
{ XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0},
|
||||||
|
{ XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0},
|
||||||
|
{ XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0},
|
||||||
|
{ XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0},
|
||||||
|
{ XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0},
|
||||||
|
{ XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0},
|
||||||
|
{ XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0},
|
||||||
|
{ XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0},
|
||||||
|
{ XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0},
|
||||||
|
{ XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0},
|
||||||
|
{ XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0},
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Selection types' masks.
|
||||||
|
* Use the same masks as usual.
|
||||||
|
* Button1Mask is always unset, to make masks match between ButtonPress.
|
||||||
|
* ButtonRelease and MotionNotify.
|
||||||
|
* If no match is found, regular selection is used.
|
||||||
|
*/
|
||||||
|
static uint selmasks[] = {
|
||||||
|
[SEL_RECTANGULAR] = Mod1Mask,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Printable characters in ASCII, used to estimate the advance width
|
||||||
|
* of single wide characters.
|
||||||
|
*/
|
||||||
|
static char ascii_printable[] =
|
||||||
|
" !\"#$%&'()*+,-./0123456789:;<=>?"
|
||||||
|
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
|
||||||
|
"`abcdefghijklmnopqrstuvwxyz{|}~";
|
14
hosts/thinkpad/system/display.nix
Executable file
14
hosts/thinkpad/system/display.nix
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
services.displayManager.sddm.enable = true;
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
desktopManager = {
|
||||||
|
xterm.enable = false;
|
||||||
|
};
|
||||||
|
windowManager.i3.enable = true;
|
||||||
|
excludePackages = [
|
||||||
|
pkgs.xterm
|
||||||
|
];
|
||||||
|
xkb.layout = "us";
|
||||||
|
};
|
||||||
|
}
|
14
hosts/thinkpad/system/essentials.nix
Executable file
14
hosts/thinkpad/system/essentials.nix
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
busybox
|
||||||
|
doas
|
||||||
|
blueman
|
||||||
|
# for monitoring cpu and other temps
|
||||||
|
lm_sensors
|
||||||
|
];
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|
||||||
|
}
|
12
hosts/thinkpad/system/remap.nix
Executable file
12
hosts/thinkpad/system/remap.nix
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
{ pkgs, config, ... }: {
|
||||||
|
|
||||||
|
services.input-remapper.enable = true;
|
||||||
|
services.input-remapper.serviceWantedBy = [
|
||||||
|
"multi-user.target"
|
||||||
|
"graphical.target"
|
||||||
|
];
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.input-remapper
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
28
hosts/thinkpad/system/security.nix
Executable file
28
hosts/thinkpad/system/security.nix
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
systemd,
|
||||||
|
user,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
|
||||||
|
# enabling firejail for sandboxing
|
||||||
|
programs.firejail = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# enabling doas
|
||||||
|
security.doas.enable = true;
|
||||||
|
security.sudo.enable = false;
|
||||||
|
security.doas.extraRules = [
|
||||||
|
{
|
||||||
|
users = [ user ];
|
||||||
|
keepEnv = true;
|
||||||
|
persist = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# setting up a polkit
|
||||||
|
security.polkit.enable = true;
|
||||||
|
}
|
67
hosts/thinkpad/system/shell.nix
Executable file
67
hosts/thinkpad/system/shell.nix
Executable file
|
@ -0,0 +1,67 @@
|
||||||
|
{ pkgs, user, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
users.users.${user}.shell = pkgs.zsh;
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
home-manager.users.${user} = {
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
# TODO create directory if non existent
|
||||||
|
history.path = "$HOME/zsh/history";
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
update = "doas nixos-rebuild switch --impure";
|
||||||
|
|
||||||
|
# Docker shorthands
|
||||||
|
dc = "docker compose";
|
||||||
|
dco = "docker container";
|
||||||
|
dn = "docker network";
|
||||||
|
dv = "docker volume";
|
||||||
|
code = "codium";
|
||||||
|
|
||||||
|
# Tmux shrothands
|
||||||
|
# https://github.com/gabysbrain/machine_config/blob/master/config/tmux.nix
|
||||||
|
ta = "tmux attach -t";
|
||||||
|
tl = "tmux list-sessions";
|
||||||
|
tks = "tmux kill-session -t";
|
||||||
|
tn = "tmux new-session -t";
|
||||||
|
|
||||||
|
#dev = "nix develop --command zsh";
|
||||||
|
|
||||||
|
dev = ''nix develop "git+file://$(pwd)?submodules=1" --command zsh'';
|
||||||
|
|
||||||
|
# ssh
|
||||||
|
pink = "ssh root@32.54.31.99";
|
||||||
|
yellow = "ssh root@32.54.31.5";
|
||||||
|
carbon = "ssh root@32.54.31.180";
|
||||||
|
lime = "ssh root@32.54.31.241";
|
||||||
|
|
||||||
|
# remote deployment for homelab
|
||||||
|
deploy-carbon = "nixos-rebuild switch --flake .#carbon --target-host root@32.54.31.180 --show-trace";
|
||||||
|
deploy-lime = "nixos-rebuild switch --flake .#lime --target-host root@32.54.31.241 --show-trace";
|
||||||
|
deploy-pink = "nixos-rebuild switch --flake .#pink --target-host root@32.54.31.99 --show-trace";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
initExtra = ''
|
||||||
|
PROMPT="[%M] %~ "
|
||||||
|
'';
|
||||||
|
|
||||||
|
sessionVariables = {
|
||||||
|
EDITOR = "nvim";
|
||||||
|
# https://discourse.nixos.org/t/tmux-doesnt-use-tmux-config-generated-by-nix/42392/2
|
||||||
|
# for some reason tmux nix doesnt configure tmux right so I have to manually set it's configuration path
|
||||||
|
ZSH_TMUX_CONFIG = "/etc/tmux.conf";
|
||||||
|
};
|
||||||
|
|
||||||
|
antidote = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [
|
||||||
|
"marlonrichert/zsh-autocomplete"
|
||||||
|
"zsh-users/zsh-syntax-highlighting"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
16
hosts/thinkpad/system/sound.nix
Executable file
16
hosts/thinkpad/system/sound.nix
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
{ pkgs, config, ... }: {
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
pavucontrol
|
||||||
|
];
|
||||||
|
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
#alsa.support32Bit = false;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
}
|
8
hosts/thinkpad/system/ssd.nix
Normal file
8
hosts/thinkpad/system/ssd.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
# Automount shit, idk
|
||||||
|
services.devmon.enable = true;
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
}
|
|
@ -1,145 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[
|
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
|
|
||||||
# system stuff
|
|
||||||
./system/display.nix
|
|
||||||
./system/sound.nix
|
|
||||||
./system/essentials.nix
|
|
||||||
./system/shell.nix
|
|
||||||
./system/remap.nix
|
|
||||||
./system/ssd.nix
|
|
||||||
|
|
||||||
# rice and other usefull apps
|
|
||||||
./desktop.nix
|
|
||||||
|
|
||||||
# developing tools
|
|
||||||
./dev.nix
|
|
||||||
|
|
||||||
# music
|
|
||||||
./apps/music.nix
|
|
||||||
|
|
||||||
# gayming
|
|
||||||
./gaming.nix
|
|
||||||
|
|
||||||
# communcations apps
|
|
||||||
./apps/communication.nix
|
|
||||||
|
|
||||||
# password manager
|
|
||||||
./apps/keepassxc.nix
|
|
||||||
|
|
||||||
# productivity apps
|
|
||||||
./apps/prod.nix
|
|
||||||
|
|
||||||
# enabling sandboxing and other security measures
|
|
||||||
./system/security.nix
|
|
||||||
|
|
||||||
# file sync
|
|
||||||
./apps/syncthing.nix
|
|
||||||
|
|
||||||
|
|
||||||
# libreoffice
|
|
||||||
./apps/office.nix
|
|
||||||
|
|
||||||
|
|
||||||
# node xporter
|
|
||||||
#./configs/prometheus.nix
|
|
||||||
./configs/neofetch.nix
|
|
||||||
./configs/logseq.nix
|
|
||||||
./configs/i3.nix
|
|
||||||
./configs/rofi.nix
|
|
||||||
./configs/picom.nix
|
|
||||||
./configs/polybar.nix
|
|
||||||
./configs/btop.nix
|
|
||||||
./configs/dunst.nix
|
|
||||||
./configs/ollama.nix
|
|
||||||
|
|
||||||
./configs/vscode.nix
|
|
||||||
./configs/gpu-screen-recorder.nix
|
|
||||||
./configs/firefox.nix
|
|
||||||
|
|
||||||
./configs/waydroid.nix
|
|
||||||
|
|
||||||
#./configs/builders.nix
|
|
||||||
./configs/element.nix
|
|
||||||
./configs/nvim.nix
|
|
||||||
./configs/node_exporter.nix
|
|
||||||
|
|
||||||
# terminal
|
|
||||||
#./configs/st.nix # too minimal, most things dont work without a million tweaks
|
|
||||||
#./configs/kitty.nix # uses their own stupid xterm extension...
|
|
||||||
./configs/alacritty.nix # just perfect, tho too much gpu usage
|
|
||||||
|
|
||||||
# apps
|
|
||||||
./apps/graphics.nix
|
|
||||||
|
|
||||||
# other
|
|
||||||
./configs/firewall.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
# adding nur
|
|
||||||
nixpkgs.config.packageOverrides = pkgs: {
|
|
||||||
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
|
||||||
inherit pkgs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# adding flake support
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
|
|
||||||
home-manager.users.grape = { ... }: {
|
|
||||||
home.stateVersion = "24.05";
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"electron-27.3.11"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
# kernel
|
|
||||||
#boot.kernelPackages = pkgs.linuxPackages_xanmod; # Gaming
|
|
||||||
|
|
||||||
#boot.initrd.luks.devices."luks-f7e86dde-55a5-4306-a7c2-cf2d93c9ee0b".device = "/dev/disk/by-uuid/f7e86dde-55a5-4306-a7c2-cf2d93c9ee0b"; # old dead ssd rip 24.07.28
|
|
||||||
boot.initrd.luks.devices."luks-da1b2f8c-877a-4c39-8965-a4af625718c".device = "/dev/disk/by-uuid/da1b2f8c-877a-4c39-8965-a4af6a25718c";
|
|
||||||
|
|
||||||
networking.hostName = "strix";
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "Europe/Budapest";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "hu_HU.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "hu_HU.UTF-8";
|
|
||||||
LC_MEASUREMENT = "hu_HU.UTF-8";
|
|
||||||
LC_MONETARY = "hu_HU.UTF-8";
|
|
||||||
LC_NAME = "hu_HU.UTF-8";
|
|
||||||
LC_NUMERIC = "hu_HU.UTF-8";
|
|
||||||
LC_PAPER = "hu_HU.UTF-8";
|
|
||||||
LC_TELEPHONE = "hu_HU.UTF-8";
|
|
||||||
LC_TIME = "hu_HU.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.grape = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "grape";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "audio" "docker" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
nix.settings.auto-optimise-store = true;
|
|
||||||
system.stateVersion = "24.11";
|
|
||||||
}
|
|
Loading…
Reference in a new issue