Merge branch 'main' of ssh://git.ghoscht.com:2222/ghoscht/nix-config
This commit is contained in:
commit
fa6763821c
63 changed files with 2102 additions and 5251 deletions
1168
flake.lock
1168
flake.lock
File diff suppressed because it is too large
Load diff
61
flake.nix
61
flake.nix
|
@ -1,17 +1,16 @@
|
||||||
{
|
{
|
||||||
description = "Your new nix config";
|
description = "GHOSCHT's NixOS config";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Nixpkgs
|
# Nixpkgs
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||||
# You can access packages and modules from different nixpkgs revs
|
|
||||||
# at the same time. Here's an working example:
|
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
|
|
||||||
|
|
||||||
# Home manager
|
# Home manager
|
||||||
home-manager.url = "github:nix-community/home-manager/release-24.05";
|
home-manager = {
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
url = "github:nix-community/home-manager/release-24.11";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
hardware.url = "github:nixos/nixos-hardware";
|
hardware.url = "github:nixos/nixos-hardware";
|
||||||
|
|
||||||
|
@ -20,21 +19,55 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-colors.url = "github:misterio77/nix-colors";
|
|
||||||
firefox-addons = {
|
firefox-addons = {
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
arkenfox = {
|
arkenfox = {
|
||||||
url = "github:dwarfmaster/arkenfox-nixos";
|
url = "github:dwarfmaster/arkenfox-nixos";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
xremap.url = "github:xremap/nix-flake";
|
|
||||||
flatpaks.url = "github:GermanBread/declarative-flatpak/stable-v3";
|
xremap = {
|
||||||
heliox-cli.url = "git+https://git.ghoscht.com/heliox/cli?ref=custom-dimming";
|
url = "github:xremap/nix-flake";
|
||||||
picokontroller.url = "git+https://git.ghoscht.com/ghoscht/picoKontroller";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
};
|
||||||
arion.url = "github:hercules-ci/arion";
|
|
||||||
|
flatpaks = {
|
||||||
|
url = "github:GermanBread/declarative-flatpak/stable-v3";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
heliox-cli = {
|
||||||
|
url = "git+https://git.ghoscht.com/heliox/cli?ref=custom-dimming";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
picokontroller = {
|
||||||
|
url = "git+https://git.ghoscht.com/ghoscht/picoKontroller";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
sops-nix = {
|
||||||
|
url = "github:Mic92/sops-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
arion = {
|
||||||
|
url = "github:hercules-ci/arion";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
url = "github:danth/stylix/release-24.11";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixvim = {
|
||||||
|
url = "github:nix-community/nixvim/nixos-24.11";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
|
|
|
@ -1,24 +1,15 @@
|
||||||
{
|
{ inputs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
in {
|
|
||||||
imports = [
|
imports = [
|
||||||
./global
|
./global
|
||||||
./features/desktop/awesome
|
./features/desktop/awesome
|
||||||
|
./features/desktop/hyprland
|
||||||
./features/games
|
./features/games
|
||||||
./features/coding
|
./features/coding
|
||||||
./features/desktop/common/3d-printing.nix
|
./features/desktop/common/alacritty.nix
|
||||||
inputs.nix-colors.homeManagerModules.default
|
|
||||||
];
|
];
|
||||||
|
|
||||||
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
|
|
||||||
|
|
||||||
home.packages = [
|
home.packages = [
|
||||||
inputs.picokontroller.packages.x86_64-linux.default
|
inputs.picokontroller.packages.x86_64-linux.default
|
||||||
# pkgs.citrix_workspace
|
|
||||||
];
|
];
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = {
|
config = {
|
||||||
|
@ -28,4 +19,14 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
exec-once = [
|
||||||
|
"picokontroller" # volume & light control
|
||||||
|
"easyeffects --gapplication-service"
|
||||||
|
"xrandr --output DP-3 --primary" # since wayland doesn't have a concept of primary monitors
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config.theme = "base16";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
programs.btop = {
|
programs.btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
color_theme = "nix-colors";
|
|
||||||
theme_background = false;
|
theme_background = false;
|
||||||
truecolor = true;
|
truecolor = true;
|
||||||
vim_keys = true;
|
vim_keys = true;
|
||||||
|
@ -10,89 +9,4 @@
|
||||||
proc_gradient = false;
|
proc_gradient = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xdg.configFile."btop/themes/nix-colors".text = ''
|
|
||||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
|
||||||
# theme[main_bg]="#${config.colorScheme.colors.base00}"
|
|
||||||
|
|
||||||
# Main text color
|
|
||||||
theme[main_fg]="#${config.colorScheme.colors.base05}"
|
|
||||||
|
|
||||||
# Title color for boxes
|
|
||||||
theme[title]="#${config.colorScheme.colors.base05}"
|
|
||||||
|
|
||||||
# Highlight color for keyboard shortcuts
|
|
||||||
theme[hi_fg]="#${config.colorScheme.colors.base0D}"
|
|
||||||
|
|
||||||
# Background color of selected item in processes box
|
|
||||||
theme[selected_bg]="#${config.colorScheme.colors.base03}"
|
|
||||||
|
|
||||||
# Foreground color of selected item in processes box
|
|
||||||
theme[selected_fg]="#${config.colorScheme.colors.base0D}"
|
|
||||||
|
|
||||||
# Color of inactive/disabled text
|
|
||||||
theme[inactive_fg]="#${config.colorScheme.colors.base02}"
|
|
||||||
|
|
||||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
|
||||||
theme[graph_text]="#${config.colorScheme.colors.base06}"
|
|
||||||
|
|
||||||
# Background color of the percentage meters
|
|
||||||
theme[meter_bg]="#${config.colorScheme.colors.base03}"
|
|
||||||
|
|
||||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
|
||||||
theme[proc_misc]="#${config.colorScheme.colors.base06}"
|
|
||||||
|
|
||||||
# CPU, Memory, Network, Proc box outline colors
|
|
||||||
theme[cpu_box]="#${config.colorScheme.colors.base0E}" #Mauve
|
|
||||||
theme[mem_box]="#${config.colorScheme.colors.base0B}" #Green
|
|
||||||
theme[net_box]="#${config.colorScheme.colors.base08}" #Maroon
|
|
||||||
theme[proc_box]="#${config.colorScheme.colors.base0D}" #Blue
|
|
||||||
|
|
||||||
# Box divider line and small boxes line color
|
|
||||||
theme[div_line]="#${config.colorScheme.colors.base04}"
|
|
||||||
|
|
||||||
# Temperature graph color (Green -> Yellow -> Red)
|
|
||||||
theme[temp_start]="#${config.colorScheme.colors.base0B}"
|
|
||||||
theme[temp_mid]="#${config.colorScheme.colors.base0A}"
|
|
||||||
theme[temp_end]="#${config.colorScheme.colors.base08}"
|
|
||||||
|
|
||||||
# CPU graph colors (Teal -> Lavender)
|
|
||||||
theme[cpu_start]="#${config.colorScheme.colors.base0C}"
|
|
||||||
theme[cpu_mid]="#${config.colorScheme.colors.base0D}"
|
|
||||||
theme[cpu_end]="#${config.colorScheme.colors.base07}"
|
|
||||||
|
|
||||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
|
||||||
theme[free_start]="#${config.colorScheme.colors.base0E}"
|
|
||||||
theme[free_mid]="#${config.colorScheme.colors.base07}"
|
|
||||||
theme[free_end]="#${config.colorScheme.colors.base0D}"
|
|
||||||
|
|
||||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
|
||||||
theme[cached_start]="#${config.colorScheme.colors.base0D}"
|
|
||||||
theme[cached_mid]="#${config.colorScheme.colors.base0D}"
|
|
||||||
theme[cached_end]="#${config.colorScheme.colors.base07}"
|
|
||||||
|
|
||||||
# Mem/Disk available meter (Peach -> Red)
|
|
||||||
theme[available_start]="#${config.colorScheme.colors.base0F}"
|
|
||||||
theme[available_mid]="#${config.colorScheme.colors.base09}"
|
|
||||||
theme[available_end]="#${config.colorScheme.colors.base08}"
|
|
||||||
|
|
||||||
# Mem/Disk used meter (Green -> Sky)
|
|
||||||
theme[used_start]="#${config.colorScheme.colors.base0B}"
|
|
||||||
theme[used_mid]="#${config.colorScheme.colors.base0C}"
|
|
||||||
theme[used_end]="#${config.colorScheme.colors.base0D}"
|
|
||||||
|
|
||||||
# Download graph colors (Peach -> Red)
|
|
||||||
theme[download_start]="#${config.colorScheme.colors.base0F}"
|
|
||||||
theme[download_mid]="#${config.colorScheme.colors.base09}"
|
|
||||||
theme[download_end]="#${config.colorScheme.colors.base08}"
|
|
||||||
|
|
||||||
# Upload graph colors (Green -> Sky)
|
|
||||||
theme[upload_start]="#${config.colorScheme.colors.base0B}"
|
|
||||||
theme[upload_mid]="#${config.colorScheme.colors.base0C}"
|
|
||||||
theme[upload_end]="#${config.colorScheme.colors.base0D}"
|
|
||||||
|
|
||||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
|
||||||
theme[process_start]="#${config.colorScheme.colors.base0D}"
|
|
||||||
theme[process_mid]="#${config.colorScheme.colors.base0C}"
|
|
||||||
theme[process_end]="#${config.colorScheme.colors.base0E}"
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
# Disable gnome-keyring ssh-agent
|
# Disable gnome-keyring ssh-agent
|
||||||
xdg.configFile."autostart/gnome-keyring-ssh.desktop".text = ''
|
xdg.configFile."autostart/gnome-keyring-ssh.desktop".text = ''
|
||||||
${lib.fileContents "${pkgs.gnome3.gnome-keyring}/etc/xdg/autostart/gnome-keyring-ssh.desktop"}
|
${lib.fileContents "${pkgs.gnome-keyring}/etc/xdg/autostart/gnome-keyring-ssh.desktop"}
|
||||||
Hidden=true
|
Hidden=true
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,5 @@
|
||||||
{config, ...}: {
|
{config, ...}: {
|
||||||
programs.lazygit = {
|
programs.lazygit = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = with config.colorScheme.colors; {
|
|
||||||
gui = {
|
|
||||||
theme = {
|
|
||||||
activeBorderColor = ["#${base0D}" "bold"];
|
|
||||||
inactiveBorderColor = ["#${base05}"];
|
|
||||||
optionsTextColor = ["#${base0D}"];
|
|
||||||
selectedLineBgColor = ["${base02}"];
|
|
||||||
selectedRangeBgColor = ["${base02}"];
|
|
||||||
cherryPickedCommitBgColor = ["#${base03}"];
|
|
||||||
cherryPickedCommitFgColor = ["#${base0D}"];
|
|
||||||
unstagedChangesColor = ["#${base08}"];
|
|
||||||
defaultFgColor = ["#${base05}"];
|
|
||||||
searchingActiveBorderColor = ["#${base0A}"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./nvim
|
# ./nvim
|
||||||
|
./nixvim
|
||||||
./vscode.nix
|
./vscode.nix
|
||||||
./intellij.nix
|
./intellij.nix
|
||||||
./tmux.nix
|
./tmux.nix
|
||||||
|
|
95
home/features/coding/nixvim/cmp.nix
Normal file
95
home/features/coding/nixvim/cmp.nix
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
cmp-emoji = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
cmp = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
completion = {
|
||||||
|
completeopt = "menu,menuone,noinsert";
|
||||||
|
};
|
||||||
|
autoEnableSources = true;
|
||||||
|
experimental = {ghost_text = true;};
|
||||||
|
performance = {
|
||||||
|
debounce = 60;
|
||||||
|
fetchingTimeout = 200;
|
||||||
|
maxViewEntries = 30;
|
||||||
|
};
|
||||||
|
snippet = {
|
||||||
|
expand = ''
|
||||||
|
function(args)
|
||||||
|
require('luasnip').lsp_expand(args.body)
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
formatting = {fields = ["kind" "abbr" "menu"];};
|
||||||
|
sources = [
|
||||||
|
{name = "nvim_lsp";}
|
||||||
|
{name = "emoji";}
|
||||||
|
{
|
||||||
|
name = "buffer"; # text within current buffer
|
||||||
|
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
||||||
|
keywordLength = 3;
|
||||||
|
}
|
||||||
|
# { name = "copilot"; } # enable/disable copilot
|
||||||
|
{
|
||||||
|
name = "path"; # file system paths
|
||||||
|
keywordLength = 3;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "luasnip"; # snippets
|
||||||
|
keywordLength = 3;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
window = {
|
||||||
|
completion = {border = "solid";};
|
||||||
|
documentation = {border = "solid";};
|
||||||
|
};
|
||||||
|
|
||||||
|
mapping = {
|
||||||
|
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||||
|
"<C-j>" = "cmp.mapping.select_next_item()";
|
||||||
|
"<C-k>" = "cmp.mapping.select_prev_item()";
|
||||||
|
"<C-e>" = "cmp.mapping.abort()";
|
||||||
|
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
||||||
|
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||||
|
"<C-Space>" = "cmp.mapping.complete()";
|
||||||
|
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||||
|
"<S-CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true })";
|
||||||
|
"<C-l>" = ''
|
||||||
|
cmp.mapping(function()
|
||||||
|
if luasnip.expand_or_locally_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
end
|
||||||
|
end, { 'i', 's' })
|
||||||
|
'';
|
||||||
|
"<C-h>" = ''
|
||||||
|
cmp.mapping(function()
|
||||||
|
if luasnip.locally_jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
end
|
||||||
|
end, { 'i', 's' })
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cmp-nvim-lsp = {
|
||||||
|
enable = true; # LSP
|
||||||
|
};
|
||||||
|
cmp-buffer = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-path = {
|
||||||
|
enable = true; # file system paths
|
||||||
|
};
|
||||||
|
cmp_luasnip = {
|
||||||
|
enable = true; # snippets
|
||||||
|
};
|
||||||
|
cmp-cmdline = {
|
||||||
|
enable = true; # autocomplete for cmdline
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
12
home/features/coding/nixvim/default.nix
Normal file
12
home/features/coding/nixvim/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{inputs, ...}: {
|
||||||
|
imports = [
|
||||||
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
|
./options.nix
|
||||||
|
./plugins.nix
|
||||||
|
./cmp.nix
|
||||||
|
./lsp.nix
|
||||||
|
./none-ls.nix
|
||||||
|
./keymaps.nix
|
||||||
|
];
|
||||||
|
programs.nixvim.enable = true;
|
||||||
|
}
|
118
home/features/coding/nixvim/keymaps.nix
Normal file
118
home/features/coding/nixvim/keymaps.nix
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
{
|
||||||
|
programs.nixvim.keymaps = [
|
||||||
|
{
|
||||||
|
mode = [
|
||||||
|
"n"
|
||||||
|
"v"
|
||||||
|
];
|
||||||
|
key = "<leader>fc";
|
||||||
|
action = "<cmd>lua vim.lsp.buf.format()<cr>";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
desc = "Format Code";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>ch";
|
||||||
|
action = "<cmd>noh<CR>";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
desc = "Clear Highlighting";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<C-p>";
|
||||||
|
action = "<cmd>Telescope live_grep<CR>";
|
||||||
|
options = {
|
||||||
|
desc = "Telescope LiveGrep";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>fg";
|
||||||
|
action = "<cmd>Telescope find_files<CR>";
|
||||||
|
options = {
|
||||||
|
desc = "Telescope File Search";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<C-n>";
|
||||||
|
action = "<Cmd>Neotree toggle<CR>";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
desc = "Toggle Neotree";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader><tab><tab>";
|
||||||
|
action = "<cmd>tabnew<cr>";
|
||||||
|
options = {
|
||||||
|
desc = "New Tab";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader><tab>]";
|
||||||
|
action = "<cmd>BufferNext<cr>";
|
||||||
|
options = {
|
||||||
|
desc = "Next Tab";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader><tab>d";
|
||||||
|
action = "<cmd>BufferClose<cr>";
|
||||||
|
options = {
|
||||||
|
desc = "Close Tab";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader><tab>[";
|
||||||
|
action = "<cmd>BufferPrevious<cr>";
|
||||||
|
options = {
|
||||||
|
desc = "Previous Tab";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<c-k>";
|
||||||
|
action = ":wincmd k<CR>";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
desc = "Go Up";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<c-j>";
|
||||||
|
action = ":wincmd j<CR>";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
desc = "Go Down";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<c-h>";
|
||||||
|
action = ":wincmd h<CR>";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
desc = "Go Left";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<c-l>";
|
||||||
|
action = ":wincmd l<CR>";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
desc = "Go Right";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
29
home/features/coding/nixvim/lsp.nix
Normal file
29
home/features/coding/nixvim/lsp.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
rustaceanvim.enable = true;
|
||||||
|
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
inlayHints = true;
|
||||||
|
|
||||||
|
servers = {
|
||||||
|
ts_ls.enable = true; # TS/JS
|
||||||
|
cssls.enable = true; # CSS
|
||||||
|
html.enable = true; # HTML
|
||||||
|
pyright.enable = true; # Python
|
||||||
|
marksman.enable = true; # Markdown
|
||||||
|
nil_ls.enable = true; # Nix
|
||||||
|
dockerls.enable = true; # Docker
|
||||||
|
bashls.enable = true; # Bash
|
||||||
|
clangd.enable = true; # C/C++
|
||||||
|
yamlls.enable = true; # YAML
|
||||||
|
|
||||||
|
lua_ls = {
|
||||||
|
# Lua
|
||||||
|
enable = true;
|
||||||
|
settings.telemetry.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
42
home/features/coding/nixvim/none-ls.nix
Normal file
42
home/features/coding/nixvim/none-ls.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
none-ls = {
|
||||||
|
enable = true;
|
||||||
|
sources = {
|
||||||
|
code_actions = {
|
||||||
|
statix.enable = true;
|
||||||
|
gitsigns.enable = true;
|
||||||
|
};
|
||||||
|
diagnostics = {
|
||||||
|
statix.enable = true;
|
||||||
|
deadnix.enable = true;
|
||||||
|
pylint.enable = true;
|
||||||
|
checkstyle.enable = true;
|
||||||
|
};
|
||||||
|
formatting = {
|
||||||
|
alejandra.enable = true;
|
||||||
|
stylua.enable = true;
|
||||||
|
shfmt.enable = true;
|
||||||
|
nixpkgs_fmt.enable = true;
|
||||||
|
google_java_format.enable = false;
|
||||||
|
prettier = {
|
||||||
|
enable = true;
|
||||||
|
disableTsServerFormatter = true;
|
||||||
|
};
|
||||||
|
black = {
|
||||||
|
enable = true;
|
||||||
|
settings = ''
|
||||||
|
{
|
||||||
|
extra_args = { "--fast" },
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
completion = {
|
||||||
|
luasnip.enable = true;
|
||||||
|
spell.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
52
home/features/coding/nixvim/options.nix
Normal file
52
home/features/coding/nixvim/options.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
config = {
|
||||||
|
# System clipboard support, needs xclip/wl-clipboard
|
||||||
|
clipboard = {
|
||||||
|
providers = {
|
||||||
|
wl-copy.enable = true; # Wayland
|
||||||
|
xsel.enable = true; # For X11
|
||||||
|
};
|
||||||
|
register = "unnamedplus";
|
||||||
|
};
|
||||||
|
globals.mapleader = " ";
|
||||||
|
opts = {
|
||||||
|
number = true; # Show line numbers
|
||||||
|
relativenumber = true; # Show relative line numbers
|
||||||
|
shiftwidth = 2; # Tab width should be 2
|
||||||
|
|
||||||
|
# Always show the signcolumn, otherwise text would be shifted when displaying error icons
|
||||||
|
signcolumn = "yes";
|
||||||
|
|
||||||
|
# Enable mouse
|
||||||
|
mouse = "a";
|
||||||
|
|
||||||
|
# Search
|
||||||
|
ignorecase = true;
|
||||||
|
smartcase = true;
|
||||||
|
|
||||||
|
# Save undo history
|
||||||
|
undofile = true;
|
||||||
|
|
||||||
|
# Global substitution by default
|
||||||
|
gdefault = true;
|
||||||
|
|
||||||
|
# Start scrolling when the cursor is X lines away from the top/bottom
|
||||||
|
scrolloff = 8;
|
||||||
|
|
||||||
|
# Enable 24-bit RGB color in the TUI
|
||||||
|
termguicolors = true;
|
||||||
|
|
||||||
|
# Wrap long lines at a character in 'breakat'
|
||||||
|
linebreak = true;
|
||||||
|
|
||||||
|
smartindent = true;
|
||||||
|
|
||||||
|
# Remove EOB
|
||||||
|
fillchars = {
|
||||||
|
eob = " ";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
112
home/features/coding/nixvim/plugins.nix
Normal file
112
home/features/coding/nixvim/plugins.nix
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
lualine.enable = true;
|
||||||
|
oil.enable = true;
|
||||||
|
nvim-surround.enable = true;
|
||||||
|
|
||||||
|
treesitter = {
|
||||||
|
enable = true;
|
||||||
|
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
|
||||||
|
markdown
|
||||||
|
# nix
|
||||||
|
vim
|
||||||
|
bash
|
||||||
|
lua
|
||||||
|
python
|
||||||
|
json
|
||||||
|
java
|
||||||
|
rust
|
||||||
|
cpp
|
||||||
|
c
|
||||||
|
css
|
||||||
|
csv
|
||||||
|
dockerfile
|
||||||
|
diff
|
||||||
|
gitignore
|
||||||
|
git_config
|
||||||
|
gitattributes
|
||||||
|
make
|
||||||
|
yaml
|
||||||
|
toml
|
||||||
|
typescript
|
||||||
|
xml
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Autopairs
|
||||||
|
nvim-autopairs = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
luasnip.enable = true;
|
||||||
|
lazygit.enable = true;
|
||||||
|
barbar.enable = true;
|
||||||
|
rainbow-delimiters.enable = true;
|
||||||
|
web-devicons.enable = true;
|
||||||
|
|
||||||
|
telescope = {
|
||||||
|
enable = true;
|
||||||
|
extensions = {
|
||||||
|
fzf-native = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Dashboard
|
||||||
|
alpha = {
|
||||||
|
enable = true;
|
||||||
|
theme = "dashboard";
|
||||||
|
};
|
||||||
|
# File tree
|
||||||
|
neo-tree = {
|
||||||
|
enable = true;
|
||||||
|
enableDiagnostics = false;
|
||||||
|
enableGitStatus = true;
|
||||||
|
enableModifiedMarkers = true;
|
||||||
|
enableRefreshOnWrite = true;
|
||||||
|
closeIfLastWindow = true;
|
||||||
|
popupBorderStyle = "rounded"; # Type: null or one of “NC”, “double”, “none”, “rounded”, “shadow”, “single”, “solid” or raw lua code
|
||||||
|
buffers = {
|
||||||
|
bindToCwd = false;
|
||||||
|
followCurrentFile = {
|
||||||
|
enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
window = {
|
||||||
|
width = 40;
|
||||||
|
height = 15;
|
||||||
|
autoExpandWidth = false;
|
||||||
|
mappings = {
|
||||||
|
"<space>" = "none";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Todo comments
|
||||||
|
todo-comments = {
|
||||||
|
enable = true;
|
||||||
|
settings.colors = {
|
||||||
|
error = ["DiagnosticError" "ErrorMsg" "#DC2626"];
|
||||||
|
warning = ["DiagnosticWarn" "WarningMsg" "#FBBF24"];
|
||||||
|
info = ["DiagnosticInfo" "#2563EB"];
|
||||||
|
hint = ["DiagnosticHint" "#10B981"];
|
||||||
|
default = ["Identifier" "#7C3AED"];
|
||||||
|
test = ["Identifier" "#FF00FF"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Highlight word under cursor
|
||||||
|
illuminate = {
|
||||||
|
enable = true;
|
||||||
|
underCursor = false;
|
||||||
|
filetypesDenylist = [
|
||||||
|
"Outline"
|
||||||
|
"TelescopePrompt"
|
||||||
|
"alpha"
|
||||||
|
"harpoon"
|
||||||
|
"reason"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,7 +6,6 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
vars = import ../../../../vars.nix;
|
vars = import ../../../../vars.nix;
|
||||||
colors = config.colorScheme.colors;
|
|
||||||
stableExtraPkgs = with pkgs; [
|
stableExtraPkgs = with pkgs; [
|
||||||
# LSP
|
# LSP
|
||||||
lua-language-server
|
lua-language-server
|
||||||
|
@ -134,18 +133,6 @@ in {
|
||||||
|
|
||||||
vim-nix
|
vim-nix
|
||||||
|
|
||||||
{
|
|
||||||
plugin = base16-nvim;
|
|
||||||
config = ''
|
|
||||||
require('base16-colorscheme').setup({
|
|
||||||
base00 = '#${colors.base00}', base01 = '#${colors.base01}', base02 = '#${colors.base02}', base03 = '#${colors.base03}',
|
|
||||||
base04 = '#${colors.base04}', base05 = '#${colors.base05}', base06 = '#${colors.base06}', base07 = '#${colors.base07}',
|
|
||||||
base08 = '#${colors.base08}', base09 = '#${colors.base09}', base0A = '#${colors.base0A}', base0B = '#${colors.base0B}',
|
|
||||||
base0C = '#${colors.base0C}', base0D = '#${colors.base0D}', base0E = '#${colors.base0E}', base0F = '#${colors.base0F}',
|
|
||||||
})'';
|
|
||||||
type = "lua";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
plugin = lualine-nvim;
|
plugin = lualine-nvim;
|
||||||
config = builtins.readFile ./plugin/lualine.lua;
|
config = builtins.readFile ./plugin/lualine.lua;
|
||||||
|
|
|
@ -44,7 +44,7 @@ require("lspconfig").nixd.setup({
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
})
|
})
|
||||||
|
|
||||||
require("lspconfig").tsserver.setup({
|
require("lspconfig").ts_lsp.setup({
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
})
|
})
|
||||||
|
|
|
@ -31,9 +31,6 @@ in {
|
||||||
];
|
];
|
||||||
userSettings = {
|
userSettings = {
|
||||||
#Theming
|
#Theming
|
||||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
|
||||||
"catppuccin.accentColor" = "green";
|
|
||||||
"workbench.iconTheme" = "material-icon-theme";
|
|
||||||
"window.menuBarVisibility" = "toggle";
|
"window.menuBarVisibility" = "toggle";
|
||||||
"editor.minimap.autohide" = false;
|
"editor.minimap.autohide" = false;
|
||||||
#Extensions - General
|
#Extensions - General
|
||||||
|
|
|
@ -13,17 +13,8 @@
|
||||||
source = ../../../../rsc/config/awesome;
|
source = ../../../../rsc/config/awesome;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
file.".config/picom/" = {
|
|
||||||
source = ../../../../rsc/config/picom;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
file.".config/rofi" = {
|
|
||||||
source = ../../../../rsc/config/rofi;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
picom
|
|
||||||
rofi
|
rofi
|
||||||
redshift
|
redshift
|
||||||
xbindkeys
|
xbindkeys
|
||||||
|
|
|
@ -1,47 +1,9 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
programs.zathura = {
|
programs.zathura = {
|
||||||
enable = true;
|
enable = true;
|
||||||
options = {
|
options = {
|
||||||
selection-clipboard = "clipboard";
|
selection-clipboard = "clipboard";
|
||||||
statusbar-home-tilde = true;
|
statusbar-home-tilde = true;
|
||||||
|
|
||||||
default-fg = "#CDD6F4";
|
|
||||||
default-bg = "#1E1E2E";
|
|
||||||
|
|
||||||
completion-bg = "#313244";
|
|
||||||
completion-fg = "#CDD6F4";
|
|
||||||
completion-highlight-bg = "#575268";
|
|
||||||
completion-highlight-fg = "#CDD6F4";
|
|
||||||
completion-group-bg = "#313244";
|
|
||||||
completion-group-fg = "#89B4FA";
|
|
||||||
|
|
||||||
statusbar-fg = "#CDD6F4";
|
|
||||||
statusbar-bg = "#313244";
|
|
||||||
|
|
||||||
notification-bg = "#313244";
|
|
||||||
notification-fg = "#CDD6F4";
|
|
||||||
notification-error-bg = "#313244";
|
|
||||||
notification-error-fg = "#F38BA8";
|
|
||||||
notification-warning-bg = "#313244";
|
|
||||||
notification-warning-fg = "#FAE3B0";
|
|
||||||
|
|
||||||
inputbar-fg = "#CDD6F4";
|
|
||||||
inputbar-bg = "#313244";
|
|
||||||
|
|
||||||
recolor-lightcolor = "#1E1E2E";
|
|
||||||
recolor-darkcolor = "#CDD6F4";
|
|
||||||
|
|
||||||
index-fg = "#CDD6F4";
|
|
||||||
index-bg = "#1E1E2E";
|
|
||||||
index-active-fg = "#CDD6F4";
|
|
||||||
index-active-bg = "#313244";
|
|
||||||
|
|
||||||
render-loading-bg = "#1E1E2E";
|
|
||||||
render-loading-fg = "#CDD6F4";
|
|
||||||
|
|
||||||
highlight-color = "#575268";
|
|
||||||
highlight-fg = "#F5C2E7";
|
|
||||||
highlight-active-color = "#F5C2E7";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,60 +1,11 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.alacritty.enable = true;
|
programs.alacritty.enable = true;
|
||||||
programs.alacritty.settings = {
|
programs.alacritty.settings = {
|
||||||
window = {
|
window = {
|
||||||
opacity = 0.83;
|
|
||||||
padding = {
|
padding = {
|
||||||
x = 0;
|
x = 0;
|
||||||
y = 5;
|
y = 5;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
font = {
|
|
||||||
normal = {
|
|
||||||
family = "${config.fontProfiles.monospace.family}";
|
|
||||||
style = "Medium";
|
|
||||||
};
|
|
||||||
bold = {
|
|
||||||
family = "${config.fontProfiles.monospace.family}";
|
|
||||||
style = "Bold";
|
|
||||||
};
|
|
||||||
italic = {
|
|
||||||
family = "${config.fontProfiles.monospace.family}";
|
|
||||||
style = "MediumItalic";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
colors = with config.colorScheme.colors; {
|
|
||||||
bright = {
|
|
||||||
black = "0x${base00}";
|
|
||||||
blue = "0x${base0D}";
|
|
||||||
cyan = "0x${base0C}";
|
|
||||||
green = "0x${base0B}";
|
|
||||||
magenta = "0x${base0E}";
|
|
||||||
red = "0x${base08}";
|
|
||||||
white = "0x${base06}";
|
|
||||||
yellow = "0x${base09}";
|
|
||||||
};
|
|
||||||
cursor = {
|
|
||||||
cursor = "0x${base06}";
|
|
||||||
text = "0x${base06}";
|
|
||||||
};
|
|
||||||
normal = {
|
|
||||||
black = "0x${base00}";
|
|
||||||
blue = "0x${base0D}";
|
|
||||||
cyan = "0x${base0C}";
|
|
||||||
green = "0x${base0B}";
|
|
||||||
magenta = "0x${base0E}";
|
|
||||||
red = "0x${base08}";
|
|
||||||
white = "0x${base06}";
|
|
||||||
yellow = "0x${base0A}";
|
|
||||||
};
|
|
||||||
primary = {
|
|
||||||
background = "0x${base00}";
|
|
||||||
foreground = "0x${base06}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./theming.nix
|
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./alacritty.nix
|
|
||||||
./wezterm.nix
|
./wezterm.nix
|
||||||
./font.nix
|
./font.nix
|
||||||
./playerctl.nix
|
./playerctl.nix
|
||||||
|
@ -15,14 +13,11 @@
|
||||||
|
|
||||||
home.packages = with pkgs;
|
home.packages = with pkgs;
|
||||||
[
|
[
|
||||||
jellyfin-media-player # watch shows & movies from jellyfin with hardware decoding
|
|
||||||
# feishin-appimage # self-packaged feishin while electron build fails
|
|
||||||
signal-desktop # secure messenger
|
signal-desktop # secure messenger
|
||||||
webcord-vencord # more "privacy friendly" discord client
|
webcord-vencord # more "privacy friendly" discord client
|
||||||
anki
|
anki
|
||||||
calibre
|
calibre
|
||||||
|
|
||||||
rofi-audio-switcher # Script to switch default audio sinks/sources
|
|
||||||
mpv # Video player
|
mpv # Video player
|
||||||
]
|
]
|
||||||
++ (with pkgs.unstable; [feishin]);
|
++ (with pkgs.unstable; [feishin]);
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{ inputs
|
||||||
inputs,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
vars,
|
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
imports = [inputs.arkenfox.hmModules.default];
|
imports = [ inputs.arkenfox.hmModules.default ];
|
||||||
|
|
||||||
|
# Enable kde-connect for non-Plasma DEs
|
||||||
home.file.".mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json".source = "${pkgs.plasma5Packages.plasma-browser-integration}/lib/mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json";
|
home.file.".mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json".source = "${pkgs.plasma5Packages.plasma-browser-integration}/lib/mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json";
|
||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
|
@ -22,7 +22,11 @@
|
||||||
darkreader
|
darkreader
|
||||||
tabliss
|
tabliss
|
||||||
consent-o-matic
|
consent-o-matic
|
||||||
# bypass-paywalls-clean
|
floccus
|
||||||
|
gesturefy
|
||||||
|
plasma-integration
|
||||||
|
libredirect
|
||||||
|
yomitan
|
||||||
];
|
];
|
||||||
|
|
||||||
search.engines = {
|
search.engines = {
|
||||||
|
@ -44,13 +48,13 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = ["@np"];
|
definedAliases = [ "@np" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"Home Manager" = {
|
"Home Manager" = {
|
||||||
urls = [
|
urls = [
|
||||||
{
|
{
|
||||||
template = "https://mipmip.github.io/home-manager-option-search";
|
template = "https://home-manager-options.extranix.com";
|
||||||
params = [
|
params = [
|
||||||
{
|
{
|
||||||
name = "query";
|
name = "query";
|
||||||
|
@ -61,7 +65,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = ["@hm"];
|
definedAliases = [ "@hm" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"Searx" = {
|
"Searx" = {
|
||||||
|
@ -78,7 +82,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
iconUpdateURL = "https://paulgo.io/favicon.ico";
|
iconUpdateURL = "https://paulgo.io/favicon.ico";
|
||||||
definedAliases = ["@sx"];
|
definedAliases = [ "@sx" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"Amazon" = {
|
"Amazon" = {
|
||||||
|
@ -95,7 +99,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
iconUpdateURL = "https://amazon.de/favicon.ico";
|
iconUpdateURL = "https://amazon.de/favicon.ico";
|
||||||
definedAliases = ["@a"];
|
definedAliases = [ "@a" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"YouTube" = {
|
"YouTube" = {
|
||||||
|
@ -112,11 +116,13 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
iconUpdateURL = "https://piped.video/favicon.ico";
|
iconUpdateURL = "https://piped.video/favicon.ico";
|
||||||
definedAliases = ["yt"];
|
definedAliases = [ "yt" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
search.force = true;
|
search = {
|
||||||
search.default = "Searx";
|
force = true;
|
||||||
|
default = "DuckDuckGo";
|
||||||
|
};
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
"media.hardwaremediakeys.enabled" = false;
|
"media.hardwaremediakeys.enabled" = false;
|
||||||
|
@ -187,9 +193,9 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps.defaultApplications = {
|
xdg.mimeApps.defaultApplications = {
|
||||||
"text/html" = ["firefox.desktop"];
|
"text/html" = [ "firefox.desktop" ];
|
||||||
"text/xml" = ["firefox.desktop"];
|
"text/xml" = [ "firefox.desktop" ];
|
||||||
"x-scheme-handler/http" = ["firefox.desktop"];
|
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||||
"x-scheme-handler/https" = ["firefox.desktop"];
|
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,17 @@
|
||||||
{inputs, ...}: {
|
{ inputs, ... }: {
|
||||||
imports = [inputs.flatpaks.homeManagerModules.default];
|
imports = [ inputs.flatpaks.homeManagerModules.declarative-flatpak ];
|
||||||
services.flatpak = {
|
services.flatpak = {
|
||||||
remotes.flathub = "https://flathub.org/repo/flathub.flatpakrepo";
|
remotes.flathub = "https://flathub.org/repo/flathub.flatpakrepo";
|
||||||
packages = [
|
packages = [
|
||||||
"flathub:app/us.zoom.Zoom//stable"
|
|
||||||
"flathub:app/com.discordapp.Discord//stable"
|
|
||||||
"flathub:app/md.obsidian.Obsidian//stable"
|
"flathub:app/md.obsidian.Obsidian//stable"
|
||||||
"flathub:app/com.github.iwalton3.jellyfin-media-player//stable"
|
"flathub:app/com.github.iwalton3.jellyfin-media-player//stable"
|
||||||
|
"flathub:app/com.github.tchx84.Flatseal//stable"
|
||||||
];
|
];
|
||||||
overrides = {
|
overrides = {
|
||||||
global = {
|
global = {
|
||||||
filesystems = [
|
filesystems = [
|
||||||
"~/.local/share/icons"
|
"~/.local/share/icons"
|
||||||
];
|
];
|
||||||
environment = {
|
|
||||||
"MOZ_ENABLE_WAYLAND" = 1;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"md.obsidian.Obsidian" = {
|
"md.obsidian.Obsidian" = {
|
||||||
sockets = [
|
sockets = [
|
||||||
|
@ -24,9 +20,9 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"com.github.iwalton3.jellyfin-media-player" = {
|
"com.github.iwalton3.jellyfin-media-player" = {
|
||||||
environment = {
|
sockets = [
|
||||||
QT_XCB_GL_INTEGRATION = "xcb_egl";
|
"!wayland"
|
||||||
};
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
home.pointerCursor = {
|
|
||||||
package = pkgs.bibata-cursors;
|
|
||||||
name = "Bibata-Modern-Ice";
|
|
||||||
size = 25;
|
|
||||||
x11.enable = true;
|
|
||||||
gtk.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# gtk.cursorTheme.package = pkgs.bibata-cursors;
|
|
||||||
# gtk.cursorTheme.name = "Bibata-Modern-Ice";
|
|
||||||
# home.file.".icons/bibata".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
|
|
||||||
# xdg.dataFile."icons/bibata".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
theme.package = pkgs.adw-gtk3;
|
|
||||||
theme.name = "adw-gtk3-dark";
|
|
||||||
iconTheme.package = pkgs.papirus-icon-theme;
|
|
||||||
iconTheme.name = "Papirus";
|
|
||||||
};
|
|
||||||
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme.name = "gtk";
|
|
||||||
style.package = with pkgs; [adwaita-qt adwaita-qt6];
|
|
||||||
style.name = "adwaita-dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
libsForQt5.qt5.qtquickcontrols2
|
|
||||||
libsForQt5.qt5.qtgraphicaleffects
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -5,44 +5,11 @@
|
||||||
}: {
|
}: {
|
||||||
programs.wezterm = {
|
programs.wezterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
colorSchemes = {
|
|
||||||
"${config.colorscheme.slug}" = with config.colorScheme; {
|
|
||||||
foreground = "#${colors.base05}";
|
|
||||||
background = "#${colors.base00}";
|
|
||||||
|
|
||||||
ansi = [
|
|
||||||
"#${colors.base00}"
|
|
||||||
"#${colors.base08}"
|
|
||||||
"#${colors.base0B}"
|
|
||||||
"#${colors.base0A}"
|
|
||||||
"#${colors.base0D}"
|
|
||||||
"#${colors.base0E}"
|
|
||||||
"#${colors.base0C}"
|
|
||||||
"#${colors.base05}"
|
|
||||||
];
|
|
||||||
brights = [
|
|
||||||
"#${colors.base03}"
|
|
||||||
"#${colors.base08}"
|
|
||||||
"#${colors.base0B}"
|
|
||||||
"#${colors.base0A}"
|
|
||||||
"#${colors.base0D}"
|
|
||||||
"#${colors.base0E}"
|
|
||||||
"#${colors.base0C}"
|
|
||||||
"#${colors.base07}"
|
|
||||||
];
|
|
||||||
cursor_fg = "#${colors.base00}";
|
|
||||||
cursor_bg = "#${colors.base05}";
|
|
||||||
selection_fg = "#${colors.base00}";
|
|
||||||
selection_bg = "#${colors.base05}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
return {
|
return {
|
||||||
|
front_end = "WebGpu", -- fixes https://github.com/wez/wezterm/issues/5990H
|
||||||
warn_about_missing_glyphs=false,
|
warn_about_missing_glyphs=false,
|
||||||
font = wezterm.font("${config.fontProfiles.monospace.family}"),
|
-- window_background_opacity = 0.83,
|
||||||
font_size = 12.0,
|
|
||||||
window_background_opacity = 0.83,
|
|
||||||
color_scheme = "${config.colorscheme.slug}",
|
|
||||||
hide_tab_bar_if_only_one_tab = true,
|
hide_tab_bar_if_only_one_tab = true,
|
||||||
window_close_confirmation = "NeverPrompt",
|
window_close_confirmation = "NeverPrompt",
|
||||||
use_ime = true,
|
use_ime = true,
|
||||||
|
|
258
home/features/desktop/hyprland/config.nix
Normal file
258
home/features/desktop/hyprland/config.nix
Normal file
|
@ -0,0 +1,258 @@
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
# autostart
|
||||||
|
exec-once = [
|
||||||
|
"systemctl --user start hyprpolkitagent" # polkit agent
|
||||||
|
"hyprshade on bluelight" # set bluelight shader
|
||||||
|
"fcitx5 -d" # japanese typing
|
||||||
|
"webcord --start-minimized --force-audio-share-support" # discord but some privacy
|
||||||
|
"kdeconnect-indicator & kdeconnect-cli -l" # kde connect
|
||||||
|
"signal-desktop --start-in-tray"
|
||||||
|
"wl-clip-persist --clipboard both &" # Keep Wayland clipboard even after programs close
|
||||||
|
"wl-paste --watch cliphist store &" # Store clipboard contents in cliphist on each change
|
||||||
|
];
|
||||||
|
|
||||||
|
input = {
|
||||||
|
kb_layout = "de";
|
||||||
|
numlock_by_default = true;
|
||||||
|
follow_mouse = 1;
|
||||||
|
sensitivity = 0; # 0 means no modification
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
general = {
|
||||||
|
"$mainMod" = "SUPER";
|
||||||
|
"$terminal" = "alacritty";
|
||||||
|
"$menu" = "wofi --show drun --allow-images --no-actions";
|
||||||
|
layout = "dwindle";
|
||||||
|
gaps_in = 5;
|
||||||
|
gaps_out = 10;
|
||||||
|
border_size = 2;
|
||||||
|
border_part_of_window = false;
|
||||||
|
no_border_on_floating = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
plugin = {
|
||||||
|
hyprsplit = {
|
||||||
|
num_workspaces = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
always_follow_on_dnd = true;
|
||||||
|
layers_hog_keyboard_focus = true;
|
||||||
|
animate_manual_resizes = false;
|
||||||
|
enable_swallow = true;
|
||||||
|
focus_on_activate = true;
|
||||||
|
new_window_takes_over_fullscreen = 2;
|
||||||
|
middle_click_paste = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
pseudotile = true;
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "master";
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 10;
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
passes = 3;
|
||||||
|
};
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = true;
|
||||||
|
range = 4;
|
||||||
|
render_power = 3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
|
||||||
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = [
|
||||||
|
"easeOutQuint,0.23,1,0.32,1"
|
||||||
|
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||||
|
"linear,0,0,1,1"
|
||||||
|
"almostLinear,0.5,0.5,0.75,1.0"
|
||||||
|
"quick,0.15,0,0.1,1"
|
||||||
|
];
|
||||||
|
|
||||||
|
animation = [
|
||||||
|
"global, 1, 10, default"
|
||||||
|
"border, 1, 5.39, easeOutQuint"
|
||||||
|
"windows, 1, 4.79, easeOutQuint"
|
||||||
|
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
|
||||||
|
"windowsOut, 1, 1.49, linear, popin 87%"
|
||||||
|
"fadeIn, 1, 1.73, almostLinear"
|
||||||
|
"fadeOut, 1, 1.46, almostLinear"
|
||||||
|
"fade, 1, 3.03, quick"
|
||||||
|
"layers, 1, 3.81, easeOutQuint"
|
||||||
|
"layersIn, 1, 4, easeOutQuint, fade"
|
||||||
|
"layersOut, 1, 1.5, linear, fade"
|
||||||
|
"fadeLayersIn, 1, 1.79, almostLinear"
|
||||||
|
"fadeLayersOut, 1, 1.39, almostLinear"
|
||||||
|
"workspaces, 1, 1.94, almostLinear, fade"
|
||||||
|
"workspacesIn, 1, 1.21, almostLinear, fade"
|
||||||
|
"workspacesOut, 1, 1.94, almostLinear, fade"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mainMod, Return, exec, $terminal"
|
||||||
|
"$mainMod SHIFT, C, killactive"
|
||||||
|
"$mainMod, C ,exec, hyprshade off && hyprpicker -a && hyprshade on bluelight"
|
||||||
|
"$mainMod SHIFT, Q, exit"
|
||||||
|
"$mainMod, T, togglefloating"
|
||||||
|
"$mainMod, Space, exec, $menu"
|
||||||
|
"$mainMod, P, pseudo" # determine subsplit
|
||||||
|
"$mainMod, F, fullscreen, 0"
|
||||||
|
"$mainMod SHIFT, F, fullscreen, 1"
|
||||||
|
", Print, exec, hyprshade off && grim -g \"$(slurp -w 0 -d)\" - | wl-copy && hyprshade on bluelight"
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
"$mainMod, left, movefocus, l"
|
||||||
|
"$mainMod, right, movefocus, r"
|
||||||
|
"$mainMod, up, movefocus, u"
|
||||||
|
"$mainMod, down, movefocus, d"
|
||||||
|
"$mainMod, h, movefocus, l"
|
||||||
|
"$mainMod, j, movefocus, d"
|
||||||
|
"$mainMod, k, movefocus, u"
|
||||||
|
"$mainMod, l, movefocus, r"
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
"$mainMod, 1, split:workspace, 1"
|
||||||
|
"$mainMod, 2, split:workspace, 2"
|
||||||
|
"$mainMod, 3, split:workspace, 3"
|
||||||
|
"$mainMod, 4, split:workspace, 4"
|
||||||
|
"$mainMod, 5, split:workspace, 5"
|
||||||
|
"$mainMod, 6, split:workspace, 6"
|
||||||
|
"$mainMod, 7, split:workspace, 7"
|
||||||
|
"$mainMod, 8, split:workspace, 8"
|
||||||
|
"$mainMod, 9, split:workspace, 9"
|
||||||
|
"$mainMod, 0, split:workspace, 10"
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
"$mainMod SHIFT, 1, split:movetoworkspacesilent, 1"
|
||||||
|
"$mainMod SHIFT, 2, split:movetoworkspacesilent, 2"
|
||||||
|
"$mainMod SHIFT, 3, split:movetoworkspacesilent, 3"
|
||||||
|
"$mainMod SHIFT, 4, split:movetoworkspacesilent, 4"
|
||||||
|
"$mainMod SHIFT, 5, split:movetoworkspacesilent, 5"
|
||||||
|
"$mainMod SHIFT, 6, split:movetoworkspacesilent, 6"
|
||||||
|
"$mainMod SHIFT, 7, split:movetoworkspacesilent, 7"
|
||||||
|
"$mainMod SHIFT, 8, split:movetoworkspacesilent, 8"
|
||||||
|
"$mainMod SHIFT, 9, split:movetoworkspacesilent, 9"
|
||||||
|
"$mainMod SHIFT, 0, split:movetoworkspacesilent, 10"
|
||||||
|
|
||||||
|
# window control
|
||||||
|
"$mainMod SHIFT, left, movewindow, l"
|
||||||
|
"$mainMod SHIFT, right, movewindow, r"
|
||||||
|
"$mainMod SHIFT, up, movewindow, u"
|
||||||
|
"$mainMod SHIFT, down, movewindow, d"
|
||||||
|
"$mainMod SHIFT, h, movewindow, l"
|
||||||
|
"$mainMod SHIFT, j, movewindow, d"
|
||||||
|
"$mainMod SHIFT, k, movewindow, u"
|
||||||
|
"$mainMod SHIFT, l, movewindow, r"
|
||||||
|
|
||||||
|
"$mainMod CTRL, left, resizeactive, -80 0"
|
||||||
|
"$mainMod CTRL, right, resizeactive, 80 0"
|
||||||
|
"$mainMod CTRL, up, resizeactive, 0 -80"
|
||||||
|
"$mainMod CTRL, down, resizeactive, 0 80"
|
||||||
|
"$mainMod CTRL, h, resizeactive, -80 0"
|
||||||
|
"$mainMod CTRL, j, resizeactive, 0 80"
|
||||||
|
"$mainMod CTRL, k, resizeactive, 0 -80"
|
||||||
|
"$mainMod CTRL, l, resizeactive, 80 0"
|
||||||
|
|
||||||
|
"$mainMod ALT, left, moveactive, -80 0"
|
||||||
|
"$mainMod ALT, right, moveactive, 80 0"
|
||||||
|
"$mainMod ALT, up, moveactive, 0 -80"
|
||||||
|
"$mainMod ALT, down, moveactive, 0 80"
|
||||||
|
"$mainMod ALT, h, moveactive, -80 0"
|
||||||
|
"$mainMod ALT, j, moveactive, 0 80"
|
||||||
|
"$mainMod ALT, k, moveactive, 0 -80"
|
||||||
|
"$mainMod ALT, l, moveactive, 80 0"
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
"$mainMod, S, togglespecialworkspace, magic"
|
||||||
|
"$mainMod SHIFT, S, movetoworkspace, special:magic"
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
"$mainMod, mouse_down, workspace, e+1"
|
||||||
|
"$mainMod, mouse_up, workspace, e-1"
|
||||||
|
|
||||||
|
# media and volume controls
|
||||||
|
",XF86AudioPlay,exec, playerctl play-pause"
|
||||||
|
",XF86AudioNext,exec, playerctl next"
|
||||||
|
",XF86AudioPrev,exec, playerctl previous"
|
||||||
|
",XF86AudioStop,exec, playerctl stop"
|
||||||
|
|
||||||
|
# clipboard manager
|
||||||
|
"$mainMod, V, exec, cliphist list | wofi --show dmenu | cliphist decode | wl-copy"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = [
|
||||||
|
"$mainMod, mouse:272, movewindow"
|
||||||
|
"$mainMod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrulev2 = [
|
||||||
|
"suppressevent maximize, class:.*" # Ignore maximize requests from apps. You'll probably like this.
|
||||||
|
"nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0" # Fix some dragging issues with XWayland
|
||||||
|
|
||||||
|
"float, title:^(Picture-in-Picture)$"
|
||||||
|
"opacity 1.0 override 1.0 override, title:^(Picture-in-Picture)$"
|
||||||
|
"pin, title:^(Picture-in-Picture)$"
|
||||||
|
"float,class:^(pavucontrol)$"
|
||||||
|
"float,class:^(SoundWireServer)$"
|
||||||
|
"float,class:^(.sameboy-wrapped)$"
|
||||||
|
"float,class:^(file_progress)$"
|
||||||
|
"float,class:^(confirm)$"
|
||||||
|
"float,class:^(dialog)$"
|
||||||
|
"float,class:^(download)$"
|
||||||
|
"float,class:^(notification)$"
|
||||||
|
"float,class:^(error)$"
|
||||||
|
"float,class:^(confirmreset)$"
|
||||||
|
"float,title:^(Open File)$"
|
||||||
|
"float,title:^(File Upload)$"
|
||||||
|
"float,title:^(branchdialog)$"
|
||||||
|
"float,title:^(Confirm to replace files)$"
|
||||||
|
"float,title:^(File Operation Progress)$"
|
||||||
|
|
||||||
|
# workspace setup
|
||||||
|
"workspace 10, class:^(feishin)$"
|
||||||
|
|
||||||
|
# nextcloud
|
||||||
|
"float,class:^(com.nextcloud.desktopclient.nextcloud)$"
|
||||||
|
"stayfocused,class:^(com.nextcloud.desktopclient.nextcloud)$" # otherwise window immediately closes
|
||||||
|
|
||||||
|
# Remove context menu transparency in chromium based apps
|
||||||
|
"opaque,class:^()$,title:^()$"
|
||||||
|
"noshadow,class:^()$,title:^()$"
|
||||||
|
"noblur,class:^()$,title:^()$"
|
||||||
|
];
|
||||||
|
|
||||||
|
monitor = [
|
||||||
|
"DP-1, 1920x1080@74.97, auto-left, 1" # Adalbert: Left
|
||||||
|
"DP-3, 2560x1440@143.86, auto-right, 1" # Adalbert: Right
|
||||||
|
"eDP-1, 1920x1080@60, auto, 1" # Ludwig
|
||||||
|
",preferred,auto,auto"
|
||||||
|
];
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
vrr = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
140
home/features/desktop/hyprland/default.nix
Normal file
140
home/features/desktop/hyprland/default.nix
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
imports = [ ./config.nix ./variables.nix ];
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
hyprpicker # color picker
|
||||||
|
wofi # dmenu replacement
|
||||||
|
hyprshade # shader control, used for rudimentary blue-light filter
|
||||||
|
hyprpolkitagent
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
# clipboard management
|
||||||
|
wl-clip-persist
|
||||||
|
wl-clipboard
|
||||||
|
cliphist
|
||||||
|
];
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
plugins = [ pkgs.hyprlandPlugins.hyprsplit ];
|
||||||
|
};
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
corner_radius = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
settings = {
|
||||||
|
mainBar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
|
||||||
|
modules-left = [ "hyprland/workspaces" ];
|
||||||
|
modules-center = [ "hyprland/window" ];
|
||||||
|
modules-right = [ "tray" "memory" "cpu" "clock" ];
|
||||||
|
|
||||||
|
tray.spacing = 10;
|
||||||
|
|
||||||
|
clock.tooltip-format = "{:%d.%m.%Y}";
|
||||||
|
cpu.format = "{}% ";
|
||||||
|
memory.format = " {}% ";
|
||||||
|
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
"9" = "";
|
||||||
|
"10" = "";
|
||||||
|
"11" = "1";
|
||||||
|
"12" = "2";
|
||||||
|
"13" = "3";
|
||||||
|
"14" = "4";
|
||||||
|
"15" = "5";
|
||||||
|
"16" = "6";
|
||||||
|
"17" = "7";
|
||||||
|
"18" = "8";
|
||||||
|
"19" = "9";
|
||||||
|
"20" = "10";
|
||||||
|
"urgent" = "";
|
||||||
|
"focused" = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."hypr/shaders/bluelight.glsl".text = ''
|
||||||
|
precision highp float;
|
||||||
|
varying vec2 v_texcoord;
|
||||||
|
uniform sampler2D tex;
|
||||||
|
|
||||||
|
const float temperature = 4000.0;
|
||||||
|
const float temperatureStrength = 1.0;
|
||||||
|
|
||||||
|
#define WithQuickAndDirtyLuminancePreservation
|
||||||
|
const float LuminancePreservationFactor = 1.0;
|
||||||
|
|
||||||
|
// function from https://www.shadertoy.com/view/4sc3D7
|
||||||
|
// valid from 1000 to 40000 K (and additionally 0 for pure full white)
|
||||||
|
vec3 colorTemperatureToRGB(const in float temperature) {
|
||||||
|
// values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693
|
||||||
|
mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690),
|
||||||
|
vec3(0.0, 1669.5803561666639, 2575.2827530017594),
|
||||||
|
vec3(1.0, 1.3302673723350029, 1.8993753891711275))
|
||||||
|
: mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690),
|
||||||
|
vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594),
|
||||||
|
vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275));
|
||||||
|
return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)),
|
||||||
|
vec3(1.0), smoothstep(1000.0, 0.0, temperature));
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec4 pixColor = texture2D(tex, v_texcoord);
|
||||||
|
|
||||||
|
// RGB
|
||||||
|
vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]);
|
||||||
|
|
||||||
|
#ifdef WithQuickAndDirtyLuminancePreservation
|
||||||
|
color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5),
|
||||||
|
LuminancePreservationFactor);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength);
|
||||||
|
|
||||||
|
vec4 outCol = vec4(color, pixColor[3]);
|
||||||
|
|
||||||
|
gl_FragColor = outCol;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
# systemd.user.services.wl-gammarelay-rs = {
|
||||||
|
# Unit = {
|
||||||
|
# PartOf = [ "graphical-session.target" ];
|
||||||
|
# After = [ "graphical-session-pre.target" ];
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# Service = {
|
||||||
|
# ExecStart = "${pkgs.wl-gammarelay-rs}/bin/wl-gammarelay-rs";
|
||||||
|
# ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR2 $MAINPID";
|
||||||
|
# Restart = "on-failure";
|
||||||
|
# KillMode = "mixed";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# Install = { WantedBy = [ "default.target" ]; };
|
||||||
|
# };
|
||||||
|
# systemd.user.services.wl-gammarelay-rs-restart = {
|
||||||
|
# Unit = {
|
||||||
|
# After = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target" ];
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# Service = {
|
||||||
|
# ExecStart = "${pkgs.bash}/bin/bash -c '${cmd} 6000 && ${cmd} 4000'";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# Install = { WantedBy = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target" ]; };
|
||||||
|
# };
|
||||||
|
}
|
11
home/features/desktop/hyprland/variables.nix
Normal file
11
home/features/desktop/hyprland/variables.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
home.sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
GDK_BACKEND = "wayland";
|
||||||
|
DIRENV_LOG_FORMAT = "";
|
||||||
|
QT_QPA_PLATFORM = "xcb";
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
SDL_VIDEODRIVER = "wayland";
|
||||||
|
CLUTTER_BACKEND = "wayland";
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,11 +8,8 @@ in {
|
||||||
./global
|
./global
|
||||||
./features/coding/nvim
|
./features/coding/nvim
|
||||||
./features/coding/tmux.nix
|
./features/coding/tmux.nix
|
||||||
inputs.nix-colors.homeManagerModules.default
|
|
||||||
];
|
];
|
||||||
|
|
||||||
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
|
|
||||||
|
|
||||||
home.file.".docker" = {
|
home.file.".docker" = {
|
||||||
source = ../rsc/docker/franz;
|
source = ../rsc/docker/franz;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
nix = {
|
nix = {
|
||||||
package = lib.mkDefault pkgs.nix;
|
package = lib.mkDefault pkgs.nix;
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = ["nix-command" "flakes" "repl-flake"];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,21 +1,15 @@
|
||||||
{
|
{ pkgs, ... }: {
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
in {
|
|
||||||
imports = [
|
imports = [
|
||||||
./global
|
./global
|
||||||
./features/desktop/awesome
|
./features/desktop/awesome
|
||||||
|
./features/desktop/common/alacritty.nix
|
||||||
|
./features/desktop/hyprland
|
||||||
./features/desktop/gnome
|
./features/desktop/gnome
|
||||||
./features/coding
|
./features/coding
|
||||||
inputs.nix-colors.homeManagerModules.default
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [nextcloud-client];
|
home.packages = with pkgs; [ nextcloud-client ];
|
||||||
|
|
||||||
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = {
|
config = {
|
||||||
permittedInsecurePackages = [
|
permittedInsecurePackages = [
|
||||||
|
@ -24,4 +18,16 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
bind = [
|
||||||
|
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
", XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl set +10%"
|
||||||
|
", XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl set 10%-"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,18 @@
|
||||||
# This is your system's configuration file.
|
{ inputs
|
||||||
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
, outputs
|
||||||
{
|
, pkgs
|
||||||
inputs,
|
, ...
|
||||||
outputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
# You can import other NixOS modules here
|
|
||||||
imports = [
|
imports = [
|
||||||
# If you want to use modules your own flake exports (from modules/nixos):
|
|
||||||
# outputs.nixosModules.example
|
|
||||||
|
|
||||||
# Or modules from other flakes (such as nixos-hardware):
|
|
||||||
inputs.hardware.nixosModules.common-cpu-amd-pstate
|
inputs.hardware.nixosModules.common-cpu-amd-pstate
|
||||||
inputs.hardware.nixosModules.common-gpu-nvidia-nonprime
|
inputs.hardware.nixosModules.common-gpu-nvidia-nonprime
|
||||||
inputs.hardware.nixosModules.common-pc-ssd
|
inputs.hardware.nixosModules.common-pc-ssd
|
||||||
|
|
||||||
# You can also split up your configuration and import pieces of it here:
|
|
||||||
# ./users.nix
|
|
||||||
|
|
||||||
# Import your generated (nixos-generate-config) hardware configuration
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
../common/global
|
../common/global
|
||||||
../common/optional/desktop/awesome.nix
|
../common/optional/desktop/awesome.nix
|
||||||
|
../common/optional/desktop/hyprland.nix
|
||||||
|
|
||||||
../common/optional/systemd-boot.nix
|
../common/optional/systemd-boot.nix
|
||||||
../common/optional/wireshark.nix
|
../common/optional/wireshark.nix
|
||||||
|
@ -35,57 +24,32 @@
|
||||||
../common/optional/gaming/steam.nix
|
../common/optional/gaming/steam.nix
|
||||||
../common/optional/desktop/japanese.nix
|
../common/optional/desktop/japanese.nix
|
||||||
../common/optional/udisks.nix
|
../common/optional/udisks.nix
|
||||||
|
../common/optional/fhs-compat.nix
|
||||||
|
../common/optional/stylix.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
# You can add overlays here
|
|
||||||
overlays = [
|
overlays = [
|
||||||
# Add overlays your own flake exports (from overlays and pkgs dir):
|
|
||||||
outputs.overlays.additions
|
outputs.overlays.additions
|
||||||
outputs.overlays.modifications
|
outputs.overlays.modifications
|
||||||
outputs.overlays.unstable-packages
|
outputs.overlays.unstable-packages
|
||||||
|
|
||||||
# You can also add overlays exported from other flakes:
|
|
||||||
# neovim-nightly-overlay.overlays.default
|
|
||||||
|
|
||||||
# Or define it inline, for example:
|
|
||||||
# (final: prev: {
|
|
||||||
# hi = final.hello.overrideAttrs (oldAttrs: {
|
|
||||||
# patches = [ ./change-hello-to-hi.patch ];
|
|
||||||
# });
|
|
||||||
# })
|
|
||||||
];
|
];
|
||||||
# Configure your nixpkgs instance
|
|
||||||
config = {
|
config = {
|
||||||
# Disable if you don't want unfree packages
|
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
firefox.enablePlasmaBrowserIntegration = true;
|
firefox.enablePlasmaBrowserIntegration = true;
|
||||||
segger-jlink.acceptLicense = true;
|
segger-jlink.acceptLicense = true;
|
||||||
permittedInsecurePackages = ["segger-jlink-qt4-794l"];
|
permittedInsecurePackages = [ "segger-jlink-qt4-796s" "dotnet-runtime-6.0.36" "dotnet-sdk-wrapped-6.0.428" "dotnet-sdk-6.0.428" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hostName = "adalbert";
|
networking.hostName = "adalbert";
|
||||||
|
|
||||||
services.udev.packages = [inputs.heliox-cli.packages.x86_64-linux.default pkgs.segger-jlink];
|
services.udev.packages = [ inputs.heliox-cli.packages.x86_64-linux.default pkgs.segger-jlink ];
|
||||||
environment.systemPackages = [inputs.heliox-cli.packages.x86_64-linux.default];
|
environment.systemPackages = [ inputs.heliox-cli.packages.x86_64-linux.default ];
|
||||||
|
|
||||||
# Personalausweis reader
|
|
||||||
programs.ausweisapp.enable = true;
|
|
||||||
programs.ausweisapp.openFirewall = true; # also sets firewall entry
|
|
||||||
|
|
||||||
programs.nix-ld.enable = true;
|
|
||||||
|
|
||||||
# services.xserver.displayManager.sddm.enable = true;
|
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
services.xserver.displayManager.gdm.enable = true;
|
||||||
|
|
||||||
# Force disable Nvidia PRIME, needed by nix-hardware
|
|
||||||
# hardware.nvidia.prime.offload.enable = false;
|
|
||||||
|
|
||||||
programs.coolercontrol = {
|
|
||||||
enable = true;
|
|
||||||
nvidiaSupport = true;
|
|
||||||
};
|
|
||||||
boot.binfmt.emulatedSystems = [
|
boot.binfmt.emulatedSystems = [
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
"riscv64-linux"
|
"riscv64-linux"
|
||||||
|
@ -94,11 +58,25 @@
|
||||||
programs = {
|
programs = {
|
||||||
adb.enable = true;
|
adb.enable = true;
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
|
coolercontrol = {
|
||||||
|
enable = true;
|
||||||
|
nvidiaSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Personalausweis reader
|
||||||
|
ausweisapp = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true; # also sets firewall entry
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
opengl.enable = true;
|
graphics.enable = true;
|
||||||
opentabletdriver.enable = true;
|
opentabletdriver.enable = true;
|
||||||
|
nvidia = {
|
||||||
|
open = false;
|
||||||
|
powerManagement.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
|
|
|
@ -16,5 +16,5 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
console.keyMap = "de";
|
console.keyMap = "de";
|
||||||
services.xserver.layout = "de";
|
services.xserver.xkb.layout = "de";
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = lib.mkDefault true;
|
auto-optimise-store = lib.mkDefault true;
|
||||||
experimental-features = ["nix-command" "flakes" "repl-flake"];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
system-features = ["kvm" "big-parallel" "nixos-test"];
|
system-features = ["kvm" "big-parallel" "nixos-test"];
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,36 +7,32 @@
|
||||||
imports = [./global.nix ./x11.nix ./wayland.nix];
|
imports = [./global.nix ./x11.nix ./wayland.nix];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
libinput.enable = true;
|
||||||
xserver = {
|
xserver = {
|
||||||
desktopManager.gnome = {
|
desktopManager.gnome = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
libinput.enable = true;
|
|
||||||
modules = [pkgs.xf86_input_wacom];
|
modules = [pkgs.xf86_input_wacom];
|
||||||
wacom.enable = true;
|
wacom.enable = true;
|
||||||
};
|
};
|
||||||
udev.packages = with pkgs; [
|
udev.packages = with pkgs; [
|
||||||
gnome.gnome-settings-daemon
|
gnome-settings-daemon
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
# System-Wide Packages
|
# System-Wide Packages
|
||||||
gnome.adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
gnome.dconf-editor
|
dconf-editor
|
||||||
gnome.gnome-tweaks
|
gnome-tweaks
|
||||||
gnomeExtensions.kimpanel
|
gnomeExtensions.kimpanel
|
||||||
gnomeExtensions.vitals
|
gnomeExtensions.vitals
|
||||||
gnomeExtensions.tray-icons-reloaded
|
gnomeExtensions.tray-icons-reloaded
|
||||||
];
|
];
|
||||||
gnome.excludePackages =
|
gnome.excludePackages = with pkgs; [
|
||||||
(with pkgs; [
|
|
||||||
# Ignored Packages
|
|
||||||
gnome-tour
|
gnome-tour
|
||||||
gedit
|
gedit
|
||||||
])
|
|
||||||
++ (with pkgs.gnome; [
|
|
||||||
atomix
|
atomix
|
||||||
epiphany
|
epiphany
|
||||||
geary
|
geary
|
||||||
|
@ -46,6 +42,6 @@
|
||||||
hitori
|
hitori
|
||||||
iagno
|
iagno
|
||||||
tali
|
tali
|
||||||
]);
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
25
hosts/common/optional/desktop/hyprland.nix
Normal file
25
hosts/common/optional/desktop/hyprland.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
imports = [ ./global.nix ./x11.nix ./wayland.nix ];
|
||||||
|
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
wlr.enable = true;
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-hyprland
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc."systemd/system-sleep/post-hibernate-bluelight.sh".source = pkgs.writeShellScript "post-hibernate-bluelight.sh" ''
|
||||||
|
if [ "$1-$SYSTEMD_SLEEP_ACTION" = "post-hibernate" ]; then
|
||||||
|
${pkgs.systemd}/bin/busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 4000
|
||||||
|
${pkgs.systemd}/bin/busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 6000
|
||||||
|
${pkgs.systemd}/bin/busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 4000
|
||||||
|
${pkgs.systemd}/bin/busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 4000
|
||||||
|
${pkgs.systemd}/bin/busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 4000
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
i18n.inputMethod = {
|
i18n.inputMethod = {
|
||||||
enabled = "fcitx5";
|
enable = true;
|
||||||
|
type = "fcitx5";
|
||||||
fcitx5.addons = with pkgs; [
|
fcitx5.addons = with pkgs; [
|
||||||
fcitx5-mozc
|
fcitx5-mozc
|
||||||
fcitx5-gtk
|
fcitx5-gtk
|
||||||
|
|
|
@ -5,11 +5,12 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
services = {
|
services = {
|
||||||
|
libinput.enable = true; # Enable touchpad support
|
||||||
|
libinput.touchpad.naturalScrolling = true;
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
xserver = {
|
xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# Enable touchpad support
|
|
||||||
libinput.enable = true;
|
|
||||||
# Remove xterm terminal
|
# Remove xterm terminal
|
||||||
excludePackages = with pkgs; [xterm];
|
excludePackages = with pkgs; [xterm];
|
||||||
modules = [pkgs.xf86_input_wacom];
|
modules = [pkgs.xf86_input_wacom];
|
||||||
|
|
69
hosts/common/optional/fhs-compat.nix
Normal file
69
hosts/common/optional/fhs-compat.nix
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.envfs.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
programs.nix-ld.enable = lib.mkDefault true;
|
||||||
|
programs.nix-ld.libraries = with pkgs;
|
||||||
|
[
|
||||||
|
acl
|
||||||
|
attr
|
||||||
|
bzip2
|
||||||
|
dbus
|
||||||
|
expat
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
fuse3
|
||||||
|
icu
|
||||||
|
libnotify
|
||||||
|
libsodium
|
||||||
|
libssh
|
||||||
|
libunwind
|
||||||
|
libusb1
|
||||||
|
libuuid
|
||||||
|
nspr
|
||||||
|
nss
|
||||||
|
stdenv.cc.cc
|
||||||
|
util-linux
|
||||||
|
zlib
|
||||||
|
zstd
|
||||||
|
]
|
||||||
|
++ lib.optionals (config.hardware.graphics.enable) [
|
||||||
|
pipewire
|
||||||
|
cups
|
||||||
|
libxkbcommon
|
||||||
|
pango
|
||||||
|
mesa
|
||||||
|
libdrm
|
||||||
|
libglvnd
|
||||||
|
libpulseaudio
|
||||||
|
atk
|
||||||
|
cairo
|
||||||
|
alsa-lib
|
||||||
|
at-spi2-atk
|
||||||
|
at-spi2-core
|
||||||
|
gdk-pixbuf
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
libGL
|
||||||
|
libappindicator-gtk3
|
||||||
|
vulkan-loader
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXScrnSaver
|
||||||
|
xorg.libXcomposite
|
||||||
|
xorg.libXcursor
|
||||||
|
xorg.libXdamage
|
||||||
|
xorg.libXext
|
||||||
|
xorg.libXfixes
|
||||||
|
xorg.libXi
|
||||||
|
xorg.libXrandr
|
||||||
|
xorg.libXrender
|
||||||
|
xorg.libXtst
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.libxkbfile
|
||||||
|
xorg.libxshmfence
|
||||||
|
];
|
||||||
|
}
|
|
@ -9,7 +9,8 @@
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
avahi = {
|
avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nssmdns = true;
|
nssmdns4 = true;
|
||||||
|
nssmdns6 = true;
|
||||||
# for a WiFi printer
|
# for a WiFi printer
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
36
hosts/common/optional/stylix.nix
Normal file
36
hosts/common/optional/stylix.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [inputs.stylix.nixosModules.stylix];
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
enable = true;
|
||||||
|
polarity = "dark";
|
||||||
|
image = ../../../rsc/wallpaper/rolltreppe-gluehwein.jpg;
|
||||||
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||||
|
opacity.terminal = 0.83;
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
name = "Bibata-Modern-Ice";
|
||||||
|
size = 25;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
||||||
|
name = "JetBrainsMono Nerd Font Mono";
|
||||||
|
};
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.dejavu_fonts;
|
||||||
|
name = "DejaVu Sans";
|
||||||
|
};
|
||||||
|
serif = {
|
||||||
|
package = pkgs.dejavu_fonts;
|
||||||
|
name = "DejaVu Serif";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,17 +1,21 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
boot.initrd.kernelModules = ["dm-snapshot"];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
../common/global
|
../common/global
|
||||||
../common/optional/desktop/awesome.nix
|
../common/optional/desktop/awesome.nix
|
||||||
|
../common/optional/desktop/hyprland.nix
|
||||||
../common/optional/desktop/gnome.nix
|
../common/optional/desktop/gnome.nix
|
||||||
|
|
||||||
../common/optional/systemd-boot.nix
|
../common/optional/systemd-boot.nix
|
||||||
|
@ -34,6 +35,8 @@
|
||||||
../common/optional/desktop/japanese.nix
|
../common/optional/desktop/japanese.nix
|
||||||
../common/optional/udisks.nix
|
../common/optional/udisks.nix
|
||||||
../common/optional/tailscale.nix
|
../common/optional/tailscale.nix
|
||||||
|
../common/optional/fhs-compat.nix
|
||||||
|
../common/optional/stylix.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
|
@ -59,11 +62,12 @@
|
||||||
# Disable if you don't want unfree packages
|
# Disable if you don't want unfree packages
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
segger-jlink.acceptLicense = true;
|
segger-jlink.acceptLicense = true;
|
||||||
permittedInsecurePackages = ["segger-jlink-qt4-794l"];
|
permittedInsecurePackages = ["segger-jlink-qt4-796s"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hostName = "ludwig";
|
networking.hostName = "ludwig";
|
||||||
|
systemd.services.NetworkManager-wait-online.enable = false;
|
||||||
|
|
||||||
services.udev.packages = [pkgs.segger-jlink];
|
services.udev.packages = [pkgs.segger-jlink];
|
||||||
|
|
||||||
|
@ -76,7 +80,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
opengl = {
|
graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
||||||
|
|
|
@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
"--skip=github::tests::test_list_releases"
|
"--skip=github::tests::test_list_releases"
|
||||||
];
|
];
|
||||||
|
|
||||||
cargoSha256 = "sha256-/8JhMDwBP3INP9+YlkTc+SwGnZypcj7OJingiyw1pcU=";
|
cargoHash = "sha256-/8JhMDwBP3INP9+YlkTc+SwGnZypcj7OJingiyw1pcU=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A Rust app to Install and Update GE-Proton for Steam, and Wine-GE for Lutris";
|
description = "A Rust app to Install and Update GE-Proton for Steam, and Wine-GE for Lutris";
|
||||||
|
|
|
@ -1,860 +0,0 @@
|
||||||
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
|
||||||
|
|
||||||
# Import additional configuration files
|
|
||||||
#
|
|
||||||
# Imports are loaded in order, skipping all missing files, with the importing
|
|
||||||
# file being loaded last. If a field is already present in a previous import, it
|
|
||||||
# will be replaced.
|
|
||||||
#
|
|
||||||
# All imports must either be absolute paths starting with `/`, or paths relative
|
|
||||||
# to the user's home directory starting with `~/`.
|
|
||||||
#import:
|
|
||||||
# - /path/to/alacritty.yml
|
|
||||||
|
|
||||||
# Any items in the `env` entry below will be added as
|
|
||||||
# environment variables. Some entries may override variables
|
|
||||||
# set by alacritty itself.
|
|
||||||
#env:
|
|
||||||
# TERM variable
|
|
||||||
#
|
|
||||||
# This value is used to set the `$TERM` environment variable for
|
|
||||||
# each instance of Alacritty. If it is not present, alacritty will
|
|
||||||
# check the local terminfo database and use `alacritty` if it is
|
|
||||||
# available, otherwise `xterm-256color` is used.
|
|
||||||
#TERM: alacritty
|
|
||||||
|
|
||||||
window:
|
|
||||||
# Window dimensions (changes require restart)
|
|
||||||
#
|
|
||||||
# Number of lines/columns (not pixels) in the terminal. Both lines and columns
|
|
||||||
# must be non-zero for this to take effect. The number of columns must be at
|
|
||||||
# least `2`, while using a value of `0` for columns and lines will fall back
|
|
||||||
# to the window manager's recommended size
|
|
||||||
#dimensions:
|
|
||||||
# columns: 0
|
|
||||||
# lines: 0
|
|
||||||
|
|
||||||
# Window position (changes require restart)
|
|
||||||
#
|
|
||||||
# Specified in number of pixels.
|
|
||||||
# If the position is not set, the window manager will handle the placement.
|
|
||||||
#position:
|
|
||||||
# x: 0s
|
|
||||||
# y: 0
|
|
||||||
|
|
||||||
# Window padding (changes require restart)
|
|
||||||
#
|
|
||||||
# Blank space added around the window in pixels. This padding is scaled
|
|
||||||
# by DPI and the specified value is always added at both opposing sides.
|
|
||||||
padding:
|
|
||||||
x: 0
|
|
||||||
y: 5
|
|
||||||
|
|
||||||
# Spread additional padding evenly around the terminal content.
|
|
||||||
#dynamic_padding: false
|
|
||||||
|
|
||||||
# Window decorations
|
|
||||||
#
|
|
||||||
# Values for `decorations`:
|
|
||||||
# - full: Borders and title bar
|
|
||||||
# - none: Neither borders nor title bar
|
|
||||||
#
|
|
||||||
# Values for `decorations` (macOS only):
|
|
||||||
# - transparent: Title bar, transparent background and title bar buttons
|
|
||||||
# - buttonless: Title bar, transparent background and no title bar buttons
|
|
||||||
#decorations: full
|
|
||||||
|
|
||||||
# Background opacity
|
|
||||||
#
|
|
||||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
|
||||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
|
||||||
opacity: 0.9
|
|
||||||
|
|
||||||
# Startup Mode (changes require restart)
|
|
||||||
#
|
|
||||||
# Values for `startup_mode`:
|
|
||||||
# - Windowed
|
|
||||||
# - Maximized
|
|
||||||
# - Fullscreen
|
|
||||||
#
|
|
||||||
# Values for `startup_mode` (macOS only):
|
|
||||||
# - SimpleFullscreen
|
|
||||||
#startup_mode: Windowed
|
|
||||||
|
|
||||||
# Window title
|
|
||||||
#title: Alacritty
|
|
||||||
|
|
||||||
# Allow terminal applications to change Alacritty's window title.
|
|
||||||
#dynamic_title: true
|
|
||||||
|
|
||||||
# Window class (Linux/BSD only):
|
|
||||||
#class:
|
|
||||||
# Application instance name
|
|
||||||
#instance: Alacritty
|
|
||||||
# General application class
|
|
||||||
#general: Alacritty
|
|
||||||
|
|
||||||
# Decorations theme variant (Linux/BSD only)
|
|
||||||
#
|
|
||||||
# Override the variant of the GTK theme/Wayland client side decorations.
|
|
||||||
# Commonly supported values are `dark` and `light`. Set this to `None` to use
|
|
||||||
# the default theme variant.
|
|
||||||
#decorations_theme_variant: None
|
|
||||||
|
|
||||||
#scrolling:
|
|
||||||
# Maximum number of lines in the scrollback buffer.
|
|
||||||
# Specifying '0' will disable scrolling.
|
|
||||||
#history: 10000
|
|
||||||
|
|
||||||
# Scrolling distance multiplier.
|
|
||||||
#multiplier: 3
|
|
||||||
|
|
||||||
# Font configuration
|
|
||||||
font:
|
|
||||||
normal:
|
|
||||||
family: JetBrains Mono Nerd Font
|
|
||||||
style: Medium
|
|
||||||
bold:
|
|
||||||
family: JetBrains Mono Nerd Font
|
|
||||||
style: Bold
|
|
||||||
italic:
|
|
||||||
family: JetBrains Mono Nerd Font
|
|
||||||
style: MediumItalic
|
|
||||||
|
|
||||||
# Point size
|
|
||||||
#size: 11.0
|
|
||||||
|
|
||||||
# Offset is the extra space around each character. `offset.y` can be thought
|
|
||||||
# of as modifying the line spacing, and `offset.x` as modifying the letter
|
|
||||||
# spacing.
|
|
||||||
#offset:
|
|
||||||
# x: 0
|
|
||||||
# y: 0
|
|
||||||
|
|
||||||
# Glyph offset determines the locations of the glyphs within their cells with
|
|
||||||
# the default being at the bottom. Increasing `x` moves the glyph to the
|
|
||||||
# right, increasing `y` moves the glyph upward.
|
|
||||||
#glyph_offset:
|
|
||||||
# x: 0
|
|
||||||
# y: 0
|
|
||||||
|
|
||||||
# Use built-in font for box drawing characters.
|
|
||||||
#
|
|
||||||
# If `true`, Alacritty will use a custom built-in font for box drawing
|
|
||||||
# characters (Unicode points 2500 - 259f).
|
|
||||||
#
|
|
||||||
#builtin_box_drawing: true
|
|
||||||
|
|
||||||
# If `true`, bold text is drawn using the bright color variants.
|
|
||||||
#draw_bold_text_with_bright_colors: false
|
|
||||||
|
|
||||||
# Colors (Tomorrow Night)
|
|
||||||
colors:
|
|
||||||
# Default colors
|
|
||||||
primary:
|
|
||||||
#background: '#24273A'
|
|
||||||
background: '#1e1e2e'
|
|
||||||
foreground: '#CAD3F5'
|
|
||||||
|
|
||||||
# Bright and dim foreground colors
|
|
||||||
#
|
|
||||||
# The dimmed foreground color is calculated automatically if it is not
|
|
||||||
# present. If the bright foreground color is not set, or
|
|
||||||
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
|
|
||||||
# color will be used.
|
|
||||||
#dim_foreground: '#828482'
|
|
||||||
#bright_foreground: '#eaeaea'
|
|
||||||
|
|
||||||
# Cursor colors
|
|
||||||
#
|
|
||||||
# Colors which should be used to draw the terminal cursor.
|
|
||||||
#
|
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#cursor:
|
|
||||||
# text: CellBackground
|
|
||||||
# cursor: CellForeground
|
|
||||||
|
|
||||||
# Vi mode cursor colors
|
|
||||||
#
|
|
||||||
# Colors for the cursor when the vi mode is active.
|
|
||||||
#
|
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#vi_mode_cursor:
|
|
||||||
# text: CellBackground
|
|
||||||
# cursor: CellForeground
|
|
||||||
|
|
||||||
# Search colors
|
|
||||||
#
|
|
||||||
# Colors used for the search bar and match highlighting.
|
|
||||||
#search:
|
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#matches:
|
|
||||||
# foreground: '#000000'
|
|
||||||
# background: '#ffffff'
|
|
||||||
#focused_match:
|
|
||||||
# foreground: '#ffffff'
|
|
||||||
# background: '#000000'
|
|
||||||
|
|
||||||
# Keyboard hints
|
|
||||||
#hints:
|
|
||||||
# First character in the hint label
|
|
||||||
#
|
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#start:
|
|
||||||
# foreground: '#1d1f21'
|
|
||||||
# background: '#e9ff5e'
|
|
||||||
|
|
||||||
# All characters after the first one in the hint label
|
|
||||||
#
|
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#end:
|
|
||||||
# foreground: '#e9ff5e'
|
|
||||||
# background: '#1d1f21'
|
|
||||||
|
|
||||||
# Line indicator
|
|
||||||
#
|
|
||||||
# Color used for the indicator displaying the position in history during
|
|
||||||
# search and vi mode.
|
|
||||||
#
|
|
||||||
# By default, these will use the opposing primary color.
|
|
||||||
#line_indicator:
|
|
||||||
# foreground: None
|
|
||||||
# background: None
|
|
||||||
|
|
||||||
# Footer bar
|
|
||||||
#
|
|
||||||
# Color used for the footer bar on the bottom, used by search regex input,
|
|
||||||
# hyperlink URI preview, etc.
|
|
||||||
#
|
|
||||||
#footer_bar:
|
|
||||||
# background: '#c5c8c6'
|
|
||||||
# foreground: '#1d1f21'
|
|
||||||
|
|
||||||
# Selection colors
|
|
||||||
#
|
|
||||||
# Colors which should be used to draw the selection area.
|
|
||||||
#
|
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#selection:
|
|
||||||
# text: CellBackground
|
|
||||||
# background: CellForeground
|
|
||||||
|
|
||||||
# Normal colors
|
|
||||||
normal:
|
|
||||||
black: '#494D64'
|
|
||||||
red: '#ED8796'
|
|
||||||
green: '#A6DA95'
|
|
||||||
yellow: '#EED49F'
|
|
||||||
blue: '#8AADF4'
|
|
||||||
magenta: '#F5BDE6'
|
|
||||||
cyan: '#8BD5CA'
|
|
||||||
white: '#B8C0E0'
|
|
||||||
|
|
||||||
# Bright colors
|
|
||||||
bright:
|
|
||||||
black: '#5B6078'
|
|
||||||
red: '#ED8796'
|
|
||||||
green: '#A6DA95'
|
|
||||||
yellow: '#EED49F'
|
|
||||||
blue: '#8AADF4'
|
|
||||||
magenta: '#F5BDE6'
|
|
||||||
cyan: '#8BD5CA'
|
|
||||||
white: '#A5ADCB'
|
|
||||||
|
|
||||||
# Dim colors
|
|
||||||
#
|
|
||||||
# If the dim colors are not set, they will be calculated automatically based
|
|
||||||
# on the `normal` colors.
|
|
||||||
dim:
|
|
||||||
black: '#131415'
|
|
||||||
red: '#864343'
|
|
||||||
green: '#777c44'
|
|
||||||
yellow: '#9e824c'
|
|
||||||
blue: '#556a7d'
|
|
||||||
magenta: '#75617b'
|
|
||||||
cyan: '#5b7d78'
|
|
||||||
white: '#828482'
|
|
||||||
|
|
||||||
# Indexed Colors
|
|
||||||
#
|
|
||||||
# The indexed colors include all colors from 16 to 256.
|
|
||||||
# When these are not set, they're filled with sensible defaults.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# `- { index: 16, color: '#ff00ff' }`
|
|
||||||
#
|
|
||||||
#indexed_colors: []
|
|
||||||
|
|
||||||
# Transparent cell backgrounds
|
|
||||||
#
|
|
||||||
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
|
||||||
# the default background. When set to `true` all cells will be transparent
|
|
||||||
# regardless of their background color.
|
|
||||||
#transparent_background_colors: false
|
|
||||||
|
|
||||||
# Bell
|
|
||||||
#
|
|
||||||
# The bell is rung every time the BEL control character is received.
|
|
||||||
#bell:
|
|
||||||
# Visual Bell Animation
|
|
||||||
#
|
|
||||||
# Animation effect for flashing the screen when the visual bell is rung.
|
|
||||||
#
|
|
||||||
# Values for `animation`:
|
|
||||||
# - Ease
|
|
||||||
# - EaseOut
|
|
||||||
# - EaseOutSine
|
|
||||||
# - EaseOutQuad
|
|
||||||
# - EaseOutCubic
|
|
||||||
# - EaseOutQuart
|
|
||||||
# - EaseOutQuint
|
|
||||||
# - EaseOutExpo
|
|
||||||
# - EaseOutCirc
|
|
||||||
# - Linear
|
|
||||||
#animation: EaseOutExpo
|
|
||||||
|
|
||||||
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
|
||||||
# disable the visual bell animation.
|
|
||||||
#duration: 0
|
|
||||||
|
|
||||||
# Visual bell animation color.
|
|
||||||
#color: '#ffffff'
|
|
||||||
|
|
||||||
# Bell Command
|
|
||||||
#
|
|
||||||
# This program is executed whenever the bell is rung.
|
|
||||||
#
|
|
||||||
# When set to `command: None`, no command will be executed.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# command:
|
|
||||||
# program: notify-send
|
|
||||||
# args: ["Hello, World!"]
|
|
||||||
#
|
|
||||||
#command: None
|
|
||||||
|
|
||||||
#selection:
|
|
||||||
# This string contains all characters that are used as separators for
|
|
||||||
# "semantic words" in Alacritty.
|
|
||||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
|
||||||
|
|
||||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
|
||||||
#save_to_clipboard: false
|
|
||||||
|
|
||||||
#cursor:
|
|
||||||
# Cursor style
|
|
||||||
#style:
|
|
||||||
# Cursor shape
|
|
||||||
#
|
|
||||||
# Values for `shape`:
|
|
||||||
# - ▇ Block
|
|
||||||
# - _ Underline
|
|
||||||
# - | Beam
|
|
||||||
#shape: Block
|
|
||||||
|
|
||||||
# Cursor blinking state
|
|
||||||
#
|
|
||||||
# Values for `blinking`:
|
|
||||||
# - Never: Prevent the cursor from ever blinking
|
|
||||||
# - Off: Disable blinking by default
|
|
||||||
# - On: Enable blinking by default
|
|
||||||
# - Always: Force the cursor to always blink
|
|
||||||
#blinking: Off
|
|
||||||
|
|
||||||
# Vi mode cursor style
|
|
||||||
#
|
|
||||||
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
|
||||||
# the style of the active value of the normal cursor.
|
|
||||||
#
|
|
||||||
# See `cursor.style` for available options.
|
|
||||||
#vi_mode_style: None
|
|
||||||
|
|
||||||
# Cursor blinking interval in milliseconds.
|
|
||||||
#blink_interval: 750
|
|
||||||
|
|
||||||
# Time after which cursor stops blinking, in seconds.
|
|
||||||
#
|
|
||||||
# Specifying '0' will disable timeout for blinking.
|
|
||||||
#blink_timeout: 5
|
|
||||||
|
|
||||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
|
||||||
# window is not focused.
|
|
||||||
#unfocused_hollow: true
|
|
||||||
|
|
||||||
# Thickness of the cursor relative to the cell width as floating point number
|
|
||||||
# from `0.0` to `1.0`.
|
|
||||||
#thickness: 0.15
|
|
||||||
|
|
||||||
# Live config reload (changes require restart)
|
|
||||||
#live_config_reload: true
|
|
||||||
|
|
||||||
# Shell
|
|
||||||
#
|
|
||||||
# You can set `shell.program` to the path of your favorite shell, e.g.
|
|
||||||
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
|
|
||||||
# shell.
|
|
||||||
#
|
|
||||||
# Default:
|
|
||||||
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
|
|
||||||
# - (Windows) powershell
|
|
||||||
#shell:
|
|
||||||
# program: /bin/bash
|
|
||||||
# args:
|
|
||||||
# - --login
|
|
||||||
|
|
||||||
# Startup directory
|
|
||||||
#
|
|
||||||
# Directory the shell is started in. If this is unset, or `None`, the working
|
|
||||||
# directory of the parent process will be used.
|
|
||||||
#working_directory: None
|
|
||||||
|
|
||||||
# Send ESC (\x1b) before characters when alt is pressed.
|
|
||||||
#alt_send_esc: true
|
|
||||||
|
|
||||||
# Offer IPC using `alacritty msg` (unix only)
|
|
||||||
#ipc_socket: true
|
|
||||||
|
|
||||||
#mouse:
|
|
||||||
# Click settings
|
|
||||||
#
|
|
||||||
# The `double_click` and `triple_click` settings control the time
|
|
||||||
# alacritty should wait for accepting multiple clicks as one double
|
|
||||||
# or triple click.
|
|
||||||
#double_click: { threshold: 300 }
|
|
||||||
#triple_click: { threshold: 300 }
|
|
||||||
|
|
||||||
# If this is `true`, the cursor is temporarily hidden when typing.
|
|
||||||
#hide_when_typing: false
|
|
||||||
|
|
||||||
# Hints
|
|
||||||
#
|
|
||||||
# Terminal hints can be used to find text or hyperlink in the visible part of
|
|
||||||
# the terminal and pipe it to other applications.
|
|
||||||
#hints:
|
|
||||||
# Keys used for the hint labels.
|
|
||||||
#alphabet: "jfkdls;ahgurieowpq"
|
|
||||||
|
|
||||||
# List with all available hints
|
|
||||||
#
|
|
||||||
# Each hint must have any of `regex` or `hyperlinks` field and either an
|
|
||||||
# `action` or a `command` field. The fields `mouse`, `binding` and
|
|
||||||
# `post_processing` are optional.
|
|
||||||
#
|
|
||||||
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
|
|
||||||
# highlighted.
|
|
||||||
#
|
|
||||||
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
|
|
||||||
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
|
|
||||||
#
|
|
||||||
# The `mouse.enabled` field controls if the hint should be underlined while
|
|
||||||
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
|
||||||
#
|
|
||||||
# If the `post_processing` field is set to `true`, heuristics will be used to
|
|
||||||
# shorten the match if there are characters likely not to be part of the hint
|
|
||||||
# (e.g. a trailing `.`). This is most useful for URIs and applies only to
|
|
||||||
# `regex` matches.
|
|
||||||
#
|
|
||||||
# Values for `action`:
|
|
||||||
# - Copy
|
|
||||||
# Copy the hint's text to the clipboard.
|
|
||||||
# - Paste
|
|
||||||
# Paste the hint's text to the terminal or search.
|
|
||||||
# - Select
|
|
||||||
# Select the hint's text.
|
|
||||||
# - MoveViModeCursor
|
|
||||||
# Move the vi mode cursor to the beginning of the hint.
|
|
||||||
#enabled:
|
|
||||||
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
|
||||||
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
|
||||||
# hyperlinks: true
|
|
||||||
# command: xdg-open
|
|
||||||
# post_processing: true
|
|
||||||
# mouse:
|
|
||||||
# enabled: true
|
|
||||||
# mods: None
|
|
||||||
# binding:
|
|
||||||
# key: U
|
|
||||||
# mods: Control|Shift
|
|
||||||
|
|
||||||
# Mouse bindings
|
|
||||||
#
|
|
||||||
# Mouse bindings are specified as a list of objects, much like the key
|
|
||||||
# bindings further below.
|
|
||||||
#
|
|
||||||
# To trigger mouse bindings when an application running within Alacritty
|
|
||||||
# captures the mouse, the `Shift` modifier is automatically added as a
|
|
||||||
# requirement.
|
|
||||||
#
|
|
||||||
# Each mouse binding will specify a:
|
|
||||||
#
|
|
||||||
# - `mouse`:
|
|
||||||
#
|
|
||||||
# - Middle
|
|
||||||
# - Left
|
|
||||||
# - Right
|
|
||||||
# - Numeric identifier such as `5`
|
|
||||||
#
|
|
||||||
# - `action` (see key bindings for actions not exclusive to mouse mode)
|
|
||||||
#
|
|
||||||
# - Mouse exclusive actions:
|
|
||||||
#
|
|
||||||
# - ExpandSelection
|
|
||||||
# Expand the selection to the current mouse cursor location.
|
|
||||||
#
|
|
||||||
# And optionally:
|
|
||||||
#
|
|
||||||
# - `mods` (see key bindings)
|
|
||||||
#mouse_bindings:
|
|
||||||
# - { mouse: Right, action: ExpandSelection }
|
|
||||||
# - { mouse: Right, mods: Control, action: ExpandSelection }
|
|
||||||
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
|
|
||||||
|
|
||||||
# Key bindings
|
|
||||||
#
|
|
||||||
# Key bindings are specified as a list of objects. For example, this is the
|
|
||||||
# default paste binding:
|
|
||||||
#
|
|
||||||
# `- { key: V, mods: Control|Shift, action: Paste }`
|
|
||||||
#
|
|
||||||
# Each key binding will specify a:
|
|
||||||
#
|
|
||||||
# - `key`: Identifier of the key pressed
|
|
||||||
#
|
|
||||||
# - A-Z
|
|
||||||
# - F1-F24
|
|
||||||
# - Key0-Key9
|
|
||||||
#
|
|
||||||
# A full list with available key codes can be found here:
|
|
||||||
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
|
||||||
#
|
|
||||||
# Instead of using the name of the keys, the `key` field also supports using
|
|
||||||
# the scancode of the desired key. Scancodes have to be specified as a
|
|
||||||
# decimal number. This command will allow you to display the hex scancodes
|
|
||||||
# for certain keys:
|
|
||||||
#
|
|
||||||
# `showkey --scancodes`.
|
|
||||||
#
|
|
||||||
# Then exactly one of:
|
|
||||||
#
|
|
||||||
# - `chars`: Send a byte sequence to the running application
|
|
||||||
#
|
|
||||||
# The `chars` field writes the specified string to the terminal. This makes
|
|
||||||
# it possible to pass escape sequences. To find escape codes for bindings
|
|
||||||
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
|
||||||
# of tmux. Note that applications use terminfo to map escape sequences back
|
|
||||||
# to keys. It is therefore required to update the terminfo when changing an
|
|
||||||
# escape sequence.
|
|
||||||
#
|
|
||||||
# - `action`: Execute a predefined action
|
|
||||||
#
|
|
||||||
# - ToggleViMode
|
|
||||||
# - SearchForward
|
|
||||||
# Start searching toward the right of the search origin.
|
|
||||||
# - SearchBackward
|
|
||||||
# Start searching toward the left of the search origin.
|
|
||||||
# - Copy
|
|
||||||
# - Paste
|
|
||||||
# - IncreaseFontSize
|
|
||||||
# - DecreaseFontSize
|
|
||||||
# - ResetFontSize
|
|
||||||
# - ScrollPageUp
|
|
||||||
# - ScrollPageDown
|
|
||||||
# - ScrollHalfPageUp
|
|
||||||
# - ScrollHalfPageDown
|
|
||||||
# - ScrollLineUp
|
|
||||||
# - ScrollLineDown
|
|
||||||
# - ScrollToTop
|
|
||||||
# - ScrollToBottom
|
|
||||||
# - ClearHistory
|
|
||||||
# Remove the terminal's scrollback history.
|
|
||||||
# - Hide
|
|
||||||
# Hide the Alacritty window.
|
|
||||||
# - Minimize
|
|
||||||
# Minimize the Alacritty window.
|
|
||||||
# - Quit
|
|
||||||
# Quit Alacritty.
|
|
||||||
# - ToggleFullscreen
|
|
||||||
# - SpawnNewInstance
|
|
||||||
# Spawn a new instance of Alacritty.
|
|
||||||
# - CreateNewWindow
|
|
||||||
# Create a new Alacritty window from the current process.
|
|
||||||
# - ClearLogNotice
|
|
||||||
# Clear Alacritty's UI warning and error notice.
|
|
||||||
# - ClearSelection
|
|
||||||
# Remove the active selection.
|
|
||||||
# - ReceiveChar
|
|
||||||
# - None
|
|
||||||
#
|
|
||||||
# - Vi mode exclusive actions:
|
|
||||||
#
|
|
||||||
# - Open
|
|
||||||
# Perform the action of the first matching hint under the vi mode cursor
|
|
||||||
# with `mouse.enabled` set to `true`.
|
|
||||||
# - ToggleNormalSelection
|
|
||||||
# - ToggleLineSelection
|
|
||||||
# - ToggleBlockSelection
|
|
||||||
# - ToggleSemanticSelection
|
|
||||||
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
|
||||||
# - CenterAroundViCursor
|
|
||||||
# Center view around vi mode cursor
|
|
||||||
#
|
|
||||||
# - Vi mode exclusive cursor motion actions:
|
|
||||||
#
|
|
||||||
# - Up
|
|
||||||
# One line up.
|
|
||||||
# - Down
|
|
||||||
# One line down.
|
|
||||||
# - Left
|
|
||||||
# One character left.
|
|
||||||
# - Right
|
|
||||||
# One character right.
|
|
||||||
# - First
|
|
||||||
# First column, or beginning of the line when already at the first column.
|
|
||||||
# - Last
|
|
||||||
# Last column, or beginning of the line when already at the last column.
|
|
||||||
# - FirstOccupied
|
|
||||||
# First non-empty cell in this terminal row, or first non-empty cell of
|
|
||||||
# the line when already at the first cell of the row.
|
|
||||||
# - High
|
|
||||||
# Top of the screen.
|
|
||||||
# - Middle
|
|
||||||
# Center of the screen.
|
|
||||||
# - Low
|
|
||||||
# Bottom of the screen.
|
|
||||||
# - SemanticLeft
|
|
||||||
# Start of the previous semantically separated word.
|
|
||||||
# - SemanticRight
|
|
||||||
# Start of the next semantically separated word.
|
|
||||||
# - SemanticLeftEnd
|
|
||||||
# End of the previous semantically separated word.
|
|
||||||
# - SemanticRightEnd
|
|
||||||
# End of the next semantically separated word.
|
|
||||||
# - WordLeft
|
|
||||||
# Start of the previous whitespace separated word.
|
|
||||||
# - WordRight
|
|
||||||
# Start of the next whitespace separated word.
|
|
||||||
# - WordLeftEnd
|
|
||||||
# End of the previous whitespace separated word.
|
|
||||||
# - WordRightEnd
|
|
||||||
# End of the next whitespace separated word.
|
|
||||||
# - Bracket
|
|
||||||
# Character matching the bracket at the cursor's location.
|
|
||||||
# - SearchNext
|
|
||||||
# Beginning of the next match.
|
|
||||||
# - SearchPrevious
|
|
||||||
# Beginning of the previous match.
|
|
||||||
# - SearchStart
|
|
||||||
# Start of the match to the left of the vi mode cursor.
|
|
||||||
# - SearchEnd
|
|
||||||
# End of the match to the right of the vi mode cursor.
|
|
||||||
#
|
|
||||||
# - Search mode exclusive actions:
|
|
||||||
# - SearchFocusNext
|
|
||||||
# Move the focus to the next search match.
|
|
||||||
# - SearchFocusPrevious
|
|
||||||
# Move the focus to the previous search match.
|
|
||||||
# - SearchConfirm
|
|
||||||
# - SearchCancel
|
|
||||||
# - SearchClear
|
|
||||||
# Reset the search regex.
|
|
||||||
# - SearchDeleteWord
|
|
||||||
# Delete the last word in the search regex.
|
|
||||||
# - SearchHistoryPrevious
|
|
||||||
# Go to the previous regex in the search history.
|
|
||||||
# - SearchHistoryNext
|
|
||||||
# Go to the next regex in the search history.
|
|
||||||
#
|
|
||||||
# - macOS exclusive actions:
|
|
||||||
# - ToggleSimpleFullscreen
|
|
||||||
# Enter fullscreen without occupying another space.
|
|
||||||
#
|
|
||||||
# - Linux/BSD exclusive actions:
|
|
||||||
#
|
|
||||||
# - CopySelection
|
|
||||||
# Copy from the selection buffer.
|
|
||||||
# - PasteSelection
|
|
||||||
# Paste from the selection buffer.
|
|
||||||
#
|
|
||||||
# - `command`: Fork and execute a specified command plus arguments
|
|
||||||
#
|
|
||||||
# The `command` field must be a map containing a `program` string and an
|
|
||||||
# `args` array of command line parameter strings. For example:
|
|
||||||
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
|
||||||
#
|
|
||||||
# And optionally:
|
|
||||||
#
|
|
||||||
# - `mods`: Key modifiers to filter binding actions
|
|
||||||
#
|
|
||||||
# - Command
|
|
||||||
# - Control
|
|
||||||
# - Option
|
|
||||||
# - Super
|
|
||||||
# - Shift
|
|
||||||
# - Alt
|
|
||||||
#
|
|
||||||
# Multiple `mods` can be combined using `|` like this:
|
|
||||||
# `mods: Control|Shift`.
|
|
||||||
# Whitespace and capitalization are relevant and must match the example.
|
|
||||||
#
|
|
||||||
# - `mode`: Indicate a binding for only specific terminal reported modes
|
|
||||||
#
|
|
||||||
# This is mainly used to send applications the correct escape sequences
|
|
||||||
# when in different modes.
|
|
||||||
#
|
|
||||||
# - AppCursor
|
|
||||||
# - AppKeypad
|
|
||||||
# - Search
|
|
||||||
# - Alt
|
|
||||||
# - Vi
|
|
||||||
#
|
|
||||||
# A `~` operator can be used before a mode to apply the binding whenever
|
|
||||||
# the mode is *not* active, e.g. `~Alt`.
|
|
||||||
#
|
|
||||||
# Bindings are always filled by default, but will be replaced when a new
|
|
||||||
# binding with the same triggers is defined. To unset a default binding, it can
|
|
||||||
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
|
||||||
# a no-op if you do not wish to receive input characters for that binding.
|
|
||||||
#
|
|
||||||
# If the same trigger is assigned to multiple actions, all of them are executed
|
|
||||||
# in the order they were defined in.
|
|
||||||
#key_bindings:
|
|
||||||
#- { key: Paste, action: Paste }
|
|
||||||
#- { key: Copy, action: Copy }
|
|
||||||
#- { key: L, mods: Control, action: ClearLogNotice }
|
|
||||||
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
|
||||||
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
|
|
||||||
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
|
||||||
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
|
|
||||||
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
|
||||||
|
|
||||||
# Vi Mode
|
|
||||||
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
|
||||||
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
|
||||||
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
|
||||||
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
|
||||||
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
|
||||||
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
|
||||||
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
|
||||||
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
|
||||||
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
|
||||||
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
|
||||||
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
|
||||||
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
|
||||||
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
|
||||||
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
|
||||||
#- { key: Y, mode: Vi|~Search, action: Copy }
|
|
||||||
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
|
||||||
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
|
||||||
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
|
||||||
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
|
||||||
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
|
||||||
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
|
||||||
#- { key: Return, mode: Vi|~Search, action: Open }
|
|
||||||
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
|
|
||||||
#- { key: K, mode: Vi|~Search, action: Up }
|
|
||||||
#- { key: J, mode: Vi|~Search, action: Down }
|
|
||||||
#- { key: H, mode: Vi|~Search, action: Left }
|
|
||||||
#- { key: L, mode: Vi|~Search, action: Right }
|
|
||||||
#- { key: Up, mode: Vi|~Search, action: Up }
|
|
||||||
#- { key: Down, mode: Vi|~Search, action: Down }
|
|
||||||
#- { key: Left, mode: Vi|~Search, action: Left }
|
|
||||||
#- { key: Right, mode: Vi|~Search, action: Right }
|
|
||||||
#- { key: Key0, mode: Vi|~Search, action: First }
|
|
||||||
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
|
|
||||||
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
|
|
||||||
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
|
|
||||||
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
|
|
||||||
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
|
|
||||||
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
|
|
||||||
#- { key: W, mode: Vi|~Search, action: SemanticRight }
|
|
||||||
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
|
|
||||||
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
|
|
||||||
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
|
|
||||||
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
|
|
||||||
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
|
|
||||||
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
|
|
||||||
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
|
|
||||||
#- { key: N, mode: Vi|~Search, action: SearchNext }
|
|
||||||
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
|
|
||||||
|
|
||||||
# Search Mode
|
|
||||||
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
|
|
||||||
#- { key: Escape, mode: Search, action: SearchCancel }
|
|
||||||
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
|
|
||||||
#- { key: U, mods: Control, mode: Search, action: SearchClear }
|
|
||||||
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
|
|
||||||
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
|
|
||||||
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
|
|
||||||
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
|
|
||||||
#- { key: Down, mode: Search, action: SearchHistoryNext }
|
|
||||||
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
|
|
||||||
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
|
|
||||||
|
|
||||||
# (Windows, Linux, and BSD only)
|
|
||||||
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
|
|
||||||
#- { key: C, mods: Control|Shift, action: Copy }
|
|
||||||
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
|
|
||||||
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
|
|
||||||
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
|
|
||||||
#- { key: Insert, mods: Shift, action: PasteSelection }
|
|
||||||
#- { key: Key0, mods: Control, action: ResetFontSize }
|
|
||||||
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
|
||||||
#- { key: Plus, mods: Control, action: IncreaseFontSize }
|
|
||||||
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
|
||||||
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
|
||||||
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
|
||||||
|
|
||||||
# (Windows only)
|
|
||||||
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
|
||||||
|
|
||||||
# (macOS only)
|
|
||||||
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
|
|
||||||
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
|
|
||||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
|
||||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
|
||||||
#- { key: Plus, mods: Command, action: IncreaseFontSize }
|
|
||||||
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
|
|
||||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
|
||||||
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
|
|
||||||
#- { key: V, mods: Command, action: Paste }
|
|
||||||
#- { key: C, mods: Command, action: Copy }
|
|
||||||
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
|
|
||||||
#- { key: H, mods: Command, action: Hide }
|
|
||||||
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
|
|
||||||
#- { key: M, mods: Command, action: Minimize }
|
|
||||||
#- { key: Q, mods: Command, action: Quit }
|
|
||||||
#- { key: W, mods: Command, action: Quit }
|
|
||||||
#- { key: N, mods: Command, action: SpawnNewInstance }
|
|
||||||
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
|
||||||
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
|
||||||
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
|
||||||
|
|
||||||
#debug:
|
|
||||||
# Display the time it takes to redraw each frame.
|
|
||||||
#render_timer: false
|
|
||||||
|
|
||||||
# Keep the log file after quitting Alacritty.
|
|
||||||
#persistent_logging: false
|
|
||||||
|
|
||||||
# Log level
|
|
||||||
#
|
|
||||||
# Values for `log_level`:
|
|
||||||
# - Off
|
|
||||||
# - Error
|
|
||||||
# - Warn
|
|
||||||
# - Info
|
|
||||||
# - Debug
|
|
||||||
# - Trace
|
|
||||||
#log_level: Warn
|
|
||||||
|
|
||||||
# Print all received window events.
|
|
||||||
#print_events: false
|
|
||||||
|
|
||||||
# Highlight window damage information.
|
|
||||||
#highlight_damage: false
|
|
|
@ -173,7 +173,11 @@ local function set_wallpaper(s)
|
||||||
if type(wallpaper) == "function" then
|
if type(wallpaper) == "function" then
|
||||||
wallpaper = wallpaper(s)
|
wallpaper = wallpaper(s)
|
||||||
end
|
end
|
||||||
gears.wallpaper.centered(wallpaper, s)
|
if s.index == screen.primary.index then
|
||||||
|
gears.wallpaper.centered(wallpaper, s, gears.color.parse_color("#00ff00ff"), 0.43)
|
||||||
|
else
|
||||||
|
gears.wallpaper.centered(wallpaper, s, gears.color.parse_color("#00ff00ff"), 0.36)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
|
||||||
local theme = {}
|
local theme = {}
|
||||||
theme.dir = os.getenv("HOME") .. "/.config/awesome/"
|
theme.dir = os.getenv("HOME") .. "/.config/awesome/"
|
||||||
theme.wallpaper_dir = os.getenv("HOME") .. "/.wallpapers/"
|
theme.wallpaper_dir = os.getenv("HOME") .. "/.wallpapers/"
|
||||||
theme.wallpaper = theme.wallpaper_dir .. "/cyberpunk-ship-dock.jpg"
|
theme.wallpaper = theme.wallpaper_dir .. "/rolltreppe-gluehwein.jpg"
|
||||||
theme.font = "JetBrainsMono Nerd Font 9"
|
theme.font = "JetBrainsMono Nerd Font 9"
|
||||||
theme.fg_normal = colors.text
|
theme.fg_normal = colors.text
|
||||||
theme.fg_focus = colors.teal
|
theme.fg_focus = colors.teal
|
||||||
|
|
|
@ -1,459 +0,0 @@
|
||||||
# See dunst(5) for all configuration options
|
|
||||||
|
|
||||||
[global]
|
|
||||||
### Display ###
|
|
||||||
|
|
||||||
# Which monitor should the notifications be displayed on.
|
|
||||||
monitor = 0
|
|
||||||
|
|
||||||
# Display notification on focused monitor. Possible modes are:
|
|
||||||
# mouse: follow mouse pointer
|
|
||||||
# keyboard: follow window with keyboard focus
|
|
||||||
# none: don't follow anything
|
|
||||||
#
|
|
||||||
# "keyboard" needs a window manager that exports the
|
|
||||||
# _NET_ACTIVE_WINDOW property.
|
|
||||||
# This should be the case for almost all modern window managers.
|
|
||||||
#
|
|
||||||
# If this option is set to mouse or keyboard, the monitor option
|
|
||||||
# will be ignored.
|
|
||||||
follow = none
|
|
||||||
|
|
||||||
### Geometry ###
|
|
||||||
|
|
||||||
# dynamic width from 0 to 300
|
|
||||||
# width = (0, 300)
|
|
||||||
# constant width of 300
|
|
||||||
width = 300
|
|
||||||
|
|
||||||
# The maximum height of a single notification, excluding the frame.
|
|
||||||
height = 300
|
|
||||||
|
|
||||||
# Position the notification in the top right corner
|
|
||||||
origin = top-right
|
|
||||||
|
|
||||||
# Offset from the origin
|
|
||||||
offset = 9x9
|
|
||||||
|
|
||||||
# Scale factor. It is auto-detected if value is 0.
|
|
||||||
scale = 0
|
|
||||||
|
|
||||||
# Maximum number of notification (0 means no limit)
|
|
||||||
notification_limit = 20
|
|
||||||
|
|
||||||
### Progress bar ###
|
|
||||||
|
|
||||||
# Turn on the progess bar. It appears when a progress hint is passed with
|
|
||||||
# for example dunstify -h int:value:12
|
|
||||||
progress_bar = true
|
|
||||||
|
|
||||||
# Set the progress bar height. This includes the frame, so make sure
|
|
||||||
# it's at least twice as big as the frame width.
|
|
||||||
progress_bar_height = 10
|
|
||||||
|
|
||||||
# Set the frame width of the progress bar
|
|
||||||
progress_bar_frame_width = 1
|
|
||||||
|
|
||||||
# Set the minimum width for the progress bar
|
|
||||||
progress_bar_min_width = 150
|
|
||||||
|
|
||||||
# Set the maximum width for the progress bar
|
|
||||||
progress_bar_max_width = 300
|
|
||||||
|
|
||||||
# Corner radius for the progress bar. 0 disables rounded corners.
|
|
||||||
progress_bar_corner_radius = 0
|
|
||||||
|
|
||||||
# Corner radius for the icon image.
|
|
||||||
icon_corner_radius = 0
|
|
||||||
|
|
||||||
# Show how many messages are currently hidden (because of
|
|
||||||
# notification_limit).
|
|
||||||
indicate_hidden = yes
|
|
||||||
|
|
||||||
# The transparency of the window. Range: [0; 100].
|
|
||||||
# This option will only work if a compositing window manager is
|
|
||||||
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
|
||||||
transparency = 0
|
|
||||||
|
|
||||||
# Draw a line of "separator_height" pixel height between two
|
|
||||||
# notifications.
|
|
||||||
# Set to 0 to disable.
|
|
||||||
# If gap_size is greater than 0, this setting will be ignored.
|
|
||||||
separator_height = 2
|
|
||||||
|
|
||||||
# Padding between text and separator.
|
|
||||||
padding = 8
|
|
||||||
|
|
||||||
# Horizontal padding.
|
|
||||||
horizontal_padding = 8
|
|
||||||
|
|
||||||
# Padding between text and icon.
|
|
||||||
text_icon_padding = 0
|
|
||||||
|
|
||||||
# Defines width in pixels of frame around the notification window.
|
|
||||||
# Set to 0 to disable.
|
|
||||||
frame_width = 3
|
|
||||||
|
|
||||||
# Defines color of the frame around the notification window.
|
|
||||||
frame_color = "#94e2d5"
|
|
||||||
|
|
||||||
# Size of gap to display between notifications - requires a compositor.
|
|
||||||
# If value is greater than 0, separator_height will be ignored and a border
|
|
||||||
# of size frame_width will be drawn around each notification instead.
|
|
||||||
# Click events on gaps do not currently propagate to applications below.
|
|
||||||
gap_size = 0
|
|
||||||
|
|
||||||
# Define a color for the separator.
|
|
||||||
# possible values are:
|
|
||||||
# * auto: dunst tries to find a color fitting to the background;
|
|
||||||
# * foreground: use the same color as the foreground;
|
|
||||||
# * frame: use the same color as the frame;
|
|
||||||
# * anything else will be interpreted as a X color.
|
|
||||||
separator_color = frame
|
|
||||||
|
|
||||||
# Sort messages by urgency.
|
|
||||||
sort = yes
|
|
||||||
|
|
||||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
|
||||||
# for longer than idle_threshold seconds.
|
|
||||||
# Set to 0 to disable.
|
|
||||||
# A client can set the 'transient' hint to bypass this. See the rules
|
|
||||||
# section for how to disable this if necessary
|
|
||||||
# idle_threshold = 120
|
|
||||||
|
|
||||||
### Text ###
|
|
||||||
|
|
||||||
font = Monospace 8
|
|
||||||
|
|
||||||
# The spacing between lines. If the height is smaller than the
|
|
||||||
# font height, it will get raised to the font height.
|
|
||||||
line_height = 0
|
|
||||||
|
|
||||||
# Possible values are:
|
|
||||||
# full: Allow a small subset of html markup in notifications:
|
|
||||||
# <b>bold</b>
|
|
||||||
# <i>italic</i>
|
|
||||||
# <s>strikethrough</s>
|
|
||||||
# <u>underline</u>
|
|
||||||
#
|
|
||||||
# For a complete reference see
|
|
||||||
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
|
||||||
#
|
|
||||||
# strip: This setting is provided for compatibility with some broken
|
|
||||||
# clients that send markup even though it's not enabled on the
|
|
||||||
# server. Dunst will try to strip the markup but the parsing is
|
|
||||||
# simplistic so using this option outside of matching rules for
|
|
||||||
# specific applications *IS GREATLY DISCOURAGED*.
|
|
||||||
#
|
|
||||||
# no: Disable markup parsing, incoming notifications will be treated as
|
|
||||||
# plain text. Dunst will not advertise that it has the body-markup
|
|
||||||
# capability if this is set as a global setting.
|
|
||||||
#
|
|
||||||
# It's important to note that markup inside the format option will be parsed
|
|
||||||
# regardless of what this is set to.
|
|
||||||
markup = full
|
|
||||||
|
|
||||||
# The format of the message. Possible variables are:
|
|
||||||
# %a appname
|
|
||||||
# %s summary
|
|
||||||
# %b body
|
|
||||||
# %i iconname (including its path)
|
|
||||||
# %I iconname (without its path)
|
|
||||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
|
||||||
# %n progress value if set without any extra characters
|
|
||||||
# %% Literal %
|
|
||||||
# Markup is allowed
|
|
||||||
format = "<b>%s</b>\n%b"
|
|
||||||
|
|
||||||
# Alignment of message text.
|
|
||||||
# Possible values are "left", "center" and "right".
|
|
||||||
alignment = left
|
|
||||||
|
|
||||||
# Vertical alignment of message text and icon.
|
|
||||||
# Possible values are "top", "center" and "bottom".
|
|
||||||
vertical_alignment = center
|
|
||||||
|
|
||||||
# Show age of message if message is older than show_age_threshold
|
|
||||||
# seconds.
|
|
||||||
# Set to -1 to disable.
|
|
||||||
show_age_threshold = 60
|
|
||||||
|
|
||||||
# Specify where to make an ellipsis in long lines.
|
|
||||||
# Possible values are "start", "middle" and "end".
|
|
||||||
ellipsize = middle
|
|
||||||
|
|
||||||
# Ignore newlines '\n' in notifications.
|
|
||||||
ignore_newline = no
|
|
||||||
|
|
||||||
# Stack together notifications with the same content
|
|
||||||
stack_duplicates = true
|
|
||||||
|
|
||||||
# Hide the count of stacked notifications with the same content
|
|
||||||
hide_duplicate_count = false
|
|
||||||
|
|
||||||
# Display indicators for URLs (U) and actions (A).
|
|
||||||
show_indicators = yes
|
|
||||||
|
|
||||||
### Icons ###
|
|
||||||
|
|
||||||
# Recursive icon lookup. You can set a single theme, instead of having to
|
|
||||||
# define all lookup paths.
|
|
||||||
enable_recursive_icon_lookup = true
|
|
||||||
|
|
||||||
# Set icon theme (only used for recursive icon lookup)
|
|
||||||
icon_theme = Adwaita
|
|
||||||
# You can also set multiple icon themes, with the leftmost one being used first.
|
|
||||||
# icon_theme = "Adwaita, breeze"
|
|
||||||
|
|
||||||
# Align icons left/right/top/off
|
|
||||||
icon_position = left
|
|
||||||
|
|
||||||
# Scale small icons up to this size, set to 0 to disable. Helpful
|
|
||||||
# for e.g. small files or high-dpi screens. In case of conflict,
|
|
||||||
# max_icon_size takes precedence over this.
|
|
||||||
min_icon_size = 32
|
|
||||||
|
|
||||||
# Scale larger icons down to this size, set to 0 to disable
|
|
||||||
max_icon_size = 128
|
|
||||||
|
|
||||||
# Paths to default icons (only neccesary when not using recursive icon lookup)
|
|
||||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
|
||||||
|
|
||||||
### History ###
|
|
||||||
|
|
||||||
# Should a notification popped up from history be sticky or timeout
|
|
||||||
# as if it would normally do.
|
|
||||||
sticky_history = yes
|
|
||||||
|
|
||||||
# Maximum amount of notifications kept in history
|
|
||||||
history_length = 20
|
|
||||||
|
|
||||||
### Misc/Advanced ###
|
|
||||||
|
|
||||||
# dmenu path.
|
|
||||||
dmenu = /usr/bin/dmenu -p dunst:
|
|
||||||
|
|
||||||
# Browser for opening urls in context menu.
|
|
||||||
browser = /usr/bin/xdg-open
|
|
||||||
|
|
||||||
# Always run rule-defined scripts, even if the notification is suppressed
|
|
||||||
always_run_script = true
|
|
||||||
|
|
||||||
# Define the title of the windows spawned by dunst
|
|
||||||
title = Dunst
|
|
||||||
|
|
||||||
# Define the class of the windows spawned by dunst
|
|
||||||
class = Dunst
|
|
||||||
|
|
||||||
# Define the corner radius of the notification window
|
|
||||||
# in pixel size. If the radius is 0, you have no rounded
|
|
||||||
# corners.
|
|
||||||
# The radius will be automatically lowered if it exceeds half of the
|
|
||||||
# notification height to avoid clipping text and/or icons.
|
|
||||||
corner_radius = 10
|
|
||||||
|
|
||||||
# Ignore the dbus closeNotification message.
|
|
||||||
# Useful to enforce the timeout set by dunst configuration. Without this
|
|
||||||
# parameter, an application may close the notification sent before the
|
|
||||||
# user defined timeout.
|
|
||||||
ignore_dbusclose = false
|
|
||||||
|
|
||||||
### Wayland ###
|
|
||||||
# These settings are Wayland-specific. They have no effect when using X11
|
|
||||||
|
|
||||||
# Uncomment this if you want to let notications appear under fullscreen
|
|
||||||
# applications (default: overlay)
|
|
||||||
# layer = top
|
|
||||||
|
|
||||||
# Set this to true to use X11 output on Wayland.
|
|
||||||
force_xwayland = false
|
|
||||||
|
|
||||||
### Legacy
|
|
||||||
|
|
||||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
|
||||||
# This setting is provided for compatibility with older nVidia drivers that
|
|
||||||
# do not support RandR and using it on systems that support RandR is highly
|
|
||||||
# discouraged.
|
|
||||||
#
|
|
||||||
# By enabling this setting dunst will not be able to detect when a monitor
|
|
||||||
# is connected or disconnected which might break follow mode if the screen
|
|
||||||
# layout changes.
|
|
||||||
force_xinerama = false
|
|
||||||
|
|
||||||
### mouse
|
|
||||||
|
|
||||||
# Defines list of actions for each mouse event
|
|
||||||
# Possible values are:
|
|
||||||
# * none: Don't do anything.
|
|
||||||
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
|
||||||
# such action, open the context menu.
|
|
||||||
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
|
||||||
# ones, open the context menu.
|
|
||||||
# * close_current: Close current notification.
|
|
||||||
# * close_all: Close all notifications.
|
|
||||||
# * context: Open context menu for the notification.
|
|
||||||
# * context_all: Open context menu for all notifications.
|
|
||||||
# These values can be strung together for each mouse event, and
|
|
||||||
# will be executed in sequence.
|
|
||||||
mouse_left_click = close_current
|
|
||||||
mouse_middle_click = do_action, close_current
|
|
||||||
mouse_right_click = close_all
|
|
||||||
|
|
||||||
# Experimental features that may or may not work correctly. Do not expect them
|
|
||||||
# to have a consistent behaviour across releases.
|
|
||||||
[experimental]
|
|
||||||
# Calculate the dpi to use on a per-monitor basis.
|
|
||||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
|
||||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
|
||||||
# using the resolution and physical size. This might be useful in setups
|
|
||||||
# where there are multiple screens with very different dpi values.
|
|
||||||
per_monitor_dpi = false
|
|
||||||
|
|
||||||
|
|
||||||
[urgency_low]
|
|
||||||
# IMPORTANT: colors have to be defined in quotation marks.
|
|
||||||
# Otherwise the "#" and following would be interpreted as a comment.
|
|
||||||
background = "#1e1e2e"
|
|
||||||
foreground = "#888888"
|
|
||||||
timeout = 10
|
|
||||||
# Icon for notifications with low urgency, uncomment to enable
|
|
||||||
#default_icon = /path/to/icon
|
|
||||||
|
|
||||||
[urgency_normal]
|
|
||||||
background = "#1e1e2e"
|
|
||||||
foreground = "#ffffff"
|
|
||||||
timeout = 10
|
|
||||||
# Icon for notifications with normal urgency, uncomment to enable
|
|
||||||
#default_icon = /path/to/icon
|
|
||||||
|
|
||||||
[urgency_critical]
|
|
||||||
background = "#f38ba8"
|
|
||||||
foreground = "#ffffff"
|
|
||||||
frame_color = "#ff0000"
|
|
||||||
timeout = 0
|
|
||||||
# Icon for notifications with critical urgency, uncomment to enable
|
|
||||||
#default_icon = /path/to/icon
|
|
||||||
|
|
||||||
# Every section that isn't one of the above is interpreted as a rules to
|
|
||||||
# override settings for certain messages.
|
|
||||||
#
|
|
||||||
# Messages can be matched by
|
|
||||||
# appname (discouraged, see desktop_entry)
|
|
||||||
# body
|
|
||||||
# category
|
|
||||||
# desktop_entry
|
|
||||||
# icon
|
|
||||||
# match_transient
|
|
||||||
# msg_urgency
|
|
||||||
# stack_tag
|
|
||||||
# summary
|
|
||||||
#
|
|
||||||
# and you can override the
|
|
||||||
# background
|
|
||||||
# foreground
|
|
||||||
# format
|
|
||||||
# frame_color
|
|
||||||
# fullscreen
|
|
||||||
# new_icon
|
|
||||||
# set_stack_tag
|
|
||||||
# set_transient
|
|
||||||
# set_category
|
|
||||||
# timeout
|
|
||||||
# urgency
|
|
||||||
# icon_position
|
|
||||||
# skip_display
|
|
||||||
# history_ignore
|
|
||||||
# action_name
|
|
||||||
# word_wrap
|
|
||||||
# ellipsize
|
|
||||||
# alignment
|
|
||||||
# hide_text
|
|
||||||
#
|
|
||||||
# Shell-like globbing will get expanded.
|
|
||||||
#
|
|
||||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
|
||||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
|
||||||
# the desktop-entry won't get localized.
|
|
||||||
#
|
|
||||||
# SCRIPTING
|
|
||||||
# You can specify a script that gets run when the rule matches by
|
|
||||||
# setting the "script" option.
|
|
||||||
# The script will be called as follows:
|
|
||||||
# script appname summary body icon urgency
|
|
||||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
|
||||||
#
|
|
||||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
|
||||||
# to find fitting options for rules.
|
|
||||||
|
|
||||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
|
||||||
# client
|
|
||||||
#[transient_disable]
|
|
||||||
# match_transient = yes
|
|
||||||
# set_transient = no
|
|
||||||
#
|
|
||||||
# Make the handling of transient notifications more strict by making them not
|
|
||||||
# be placed in history.
|
|
||||||
#[transient_history_ignore]
|
|
||||||
# match_transient = yes
|
|
||||||
# history_ignore = yes
|
|
||||||
|
|
||||||
# fullscreen values
|
|
||||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
|
||||||
# delay: displays the new notification, if there is no fullscreen window active
|
|
||||||
# If the notification is already drawn, it won't get undrawn.
|
|
||||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
|
||||||
# withdrawn from screen again and will get delayed like a new notification
|
|
||||||
#[fullscreen_delay_everything]
|
|
||||||
# fullscreen = delay
|
|
||||||
#[fullscreen_show_critical]
|
|
||||||
# msg_urgency = critical
|
|
||||||
# fullscreen = show
|
|
||||||
|
|
||||||
#[espeak]
|
|
||||||
# summary = "*"
|
|
||||||
# script = dunst_espeak.sh
|
|
||||||
|
|
||||||
#[script-test]
|
|
||||||
# summary = "*script*"
|
|
||||||
# script = dunst_test.sh
|
|
||||||
|
|
||||||
#[ignore]
|
|
||||||
# # This notification will not be displayed
|
|
||||||
# summary = "foobar"
|
|
||||||
# skip_display = true
|
|
||||||
|
|
||||||
#[history-ignore]
|
|
||||||
# # This notification will not be saved in history
|
|
||||||
# summary = "foobar"
|
|
||||||
# history_ignore = yes
|
|
||||||
|
|
||||||
#[skip-display]
|
|
||||||
# # This notification will not be displayed, but will be included in the history
|
|
||||||
# summary = "foobar"
|
|
||||||
# skip_display = yes
|
|
||||||
|
|
||||||
#[signed_on]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = "*signed on*"
|
|
||||||
# urgency = low
|
|
||||||
#
|
|
||||||
#[signed_off]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *signed off*
|
|
||||||
# urgency = low
|
|
||||||
#
|
|
||||||
#[says]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *says*
|
|
||||||
# urgency = critical
|
|
||||||
#
|
|
||||||
#[twitter]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *twitter.com*
|
|
||||||
# urgency = normal
|
|
||||||
#
|
|
||||||
#[stack-volumes]
|
|
||||||
# appname = "some_volume_notifiers"
|
|
||||||
# set_stack_tag = "volume"
|
|
||||||
#
|
|
||||||
# vim: ft=cfg
|
|
|
@ -1,15 +0,0 @@
|
||||||
[General]
|
|
||||||
autoCloseIdleDaemon=true
|
|
||||||
checkForUpdates=false
|
|
||||||
contrastOpacity=188
|
|
||||||
contrastUiColor=#ff0400
|
|
||||||
copyAndCloseAfterUpload=false
|
|
||||||
disabledTrayIcon=true
|
|
||||||
savePath=/home/ghoscht/Pictures/screenshots
|
|
||||||
savePathFixed=false
|
|
||||||
showDesktopNotification=false
|
|
||||||
showHelp=false
|
|
||||||
showMagnifier=true
|
|
||||||
showStartupLaunchMessage=false
|
|
||||||
uiColor=#94e2d5
|
|
||||||
uploadWithoutConfirmation=false
|
|
|
@ -1 +0,0 @@
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMEJg5bmZmaysJr/jgiXasjWDoxk8djsZzDJybhxiw1S 31184695+GHOSCHT@users.noreply.github.com
|
|
|
@ -1,61 +0,0 @@
|
||||||
$rosewaterAlpha = f5e0dc
|
|
||||||
$flamingoAlpha = f2cdcd
|
|
||||||
$pinkAlpha = f5c2e7
|
|
||||||
$mauveAlpha = cba6f7
|
|
||||||
$redAlpha = f38ba8
|
|
||||||
$maroonAlpha = eba0ac
|
|
||||||
$peachAlpha = fab387
|
|
||||||
$yellowAlpha = f9e2af
|
|
||||||
$greenAlpha = a6e3a1
|
|
||||||
$tealAlpha = 94e2d5
|
|
||||||
$skyAlpha = 89dceb
|
|
||||||
$sapphireAlpha = 74c7ec
|
|
||||||
$blueAlpha = 89b4fa
|
|
||||||
$lavenderAlpha = b4befe
|
|
||||||
|
|
||||||
$textAlpha = cdd6f4
|
|
||||||
$subtext1Alpha = bac2de
|
|
||||||
$subtext0Alpha = a6adc8
|
|
||||||
|
|
||||||
$overlay2Alpha = 9399b2
|
|
||||||
$overlay1Alpha = 7f849c
|
|
||||||
$overlay0Alpha = 6c7086
|
|
||||||
|
|
||||||
$surface2Alpha = 585b70
|
|
||||||
$surface1Alpha = 45475a
|
|
||||||
$surface0Alpha = 313244
|
|
||||||
|
|
||||||
$baseAlpha = 1e1e2e
|
|
||||||
$mantleAlpha = 181825
|
|
||||||
$crustAlpha = 11111b
|
|
||||||
|
|
||||||
$rosewater = 0xfff5e0dc
|
|
||||||
$flamingo = 0xfff2cdcd
|
|
||||||
$pink = 0xfff5c2e7
|
|
||||||
$mauve = 0xffcba6f7
|
|
||||||
$red = 0xfff38ba8
|
|
||||||
$maroon = 0xffeba0ac
|
|
||||||
$peach = 0xfffab387
|
|
||||||
$yellow = 0xfff9e2af
|
|
||||||
$green = 0xffa6e3a1
|
|
||||||
$teal = 0xff94e2d5
|
|
||||||
$sky = 0xff89dceb
|
|
||||||
$sapphire = 0xff74c7ec
|
|
||||||
$blue = 0xff89b4fa
|
|
||||||
$lavender = 0xffb4befe
|
|
||||||
|
|
||||||
$text = 0xffcdd6f4
|
|
||||||
$subtext1 = 0xffbac2de
|
|
||||||
$subtext0 = 0xffa6adc8
|
|
||||||
|
|
||||||
$overlay2 = 0xff9399b2
|
|
||||||
$overlay1 = 0xff7f849c
|
|
||||||
$overlay0 = 0xff6c7086
|
|
||||||
|
|
||||||
$surface2 = 0xff585b70
|
|
||||||
$surface1 = 0xff45475a
|
|
||||||
$surface0 = 0xff313244
|
|
||||||
|
|
||||||
$base = 0xff1e1e2e
|
|
||||||
$mantle = 0xff181825
|
|
||||||
$crust = 0xff11111b
|
|
|
@ -1,47 +0,0 @@
|
||||||
precision mediump float;
|
|
||||||
varying vec2 v_texcoord;
|
|
||||||
uniform sampler2D tex;
|
|
||||||
|
|
||||||
const float temperature = 3500.0;
|
|
||||||
const float temperatureStrength = 1.0;
|
|
||||||
|
|
||||||
#define WithQuickAndDirtyLuminancePreservation
|
|
||||||
const float LuminancePreservationFactor = 1.0;
|
|
||||||
|
|
||||||
// function from https://www.shadertoy.com/view/4sc3D7
|
|
||||||
// valid from 1000 to 40000 K (and additionally 0 for pure full white)
|
|
||||||
vec3 colorTemperatureToRGB(const in float temperature){
|
|
||||||
// values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693
|
|
||||||
mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690),
|
|
||||||
vec3(0.0, 1669.5803561666639, 2575.2827530017594),
|
|
||||||
vec3(1.0, 1.3302673723350029, 1.8993753891711275)) :
|
|
||||||
mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690),
|
|
||||||
vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594),
|
|
||||||
vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275));
|
|
||||||
return mix(
|
|
||||||
clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)),
|
|
||||||
vec3(1.0),
|
|
||||||
smoothstep(1000.0, 0.0, temperature)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
vec4 pixColor = texture2D(tex, v_texcoord);
|
|
||||||
|
|
||||||
// RGB
|
|
||||||
vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]);
|
|
||||||
|
|
||||||
#ifdef WithQuickAndDirtyLuminancePreservation
|
|
||||||
color *= mix(1.0,
|
|
||||||
dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5),
|
|
||||||
LuminancePreservationFactor);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength);
|
|
||||||
|
|
||||||
vec4 outCol = vec4(color, pixColor[3]);
|
|
||||||
|
|
||||||
gl_FragColor = outCol;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,524 +0,0 @@
|
||||||
#################################
|
|
||||||
# Animations #
|
|
||||||
#################################
|
|
||||||
# requires https://github.com/jonaburg/picom
|
|
||||||
# (These are also the default values)
|
|
||||||
transition-length = 300
|
|
||||||
transition-pow-x = 0.1
|
|
||||||
transition-pow-y = 0.1
|
|
||||||
transition-pow-w = 0.1
|
|
||||||
transition-pow-h = 0.1
|
|
||||||
size-transition = true
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Corners #
|
|
||||||
#################################
|
|
||||||
# requires: https://github.com/sdhand/compton or https://github.com/jonaburg/picom
|
|
||||||
corner-radius = 10.0;
|
|
||||||
rounded-corners-exclude = [
|
|
||||||
#"window_type = 'normal'",
|
|
||||||
"class_g = 'awesome'",
|
|
||||||
"class_g = 'URxvt'",
|
|
||||||
"class_g = 'XTerm'",
|
|
||||||
"class_g = 'kitty'",
|
|
||||||
#"class_g = 'Alacritty'",
|
|
||||||
"class_g = 'Polybar'",
|
|
||||||
"class_g = 'code-oss'",
|
|
||||||
#"class_g = 'TelegramDesktop'",
|
|
||||||
#"class_g = 'LibreWolf'",
|
|
||||||
"class_g = 'Thunderbird'"
|
|
||||||
];
|
|
||||||
round-borders = 1;
|
|
||||||
round-borders-exclude = [
|
|
||||||
#"class_g = 'TelegramDesktop'",
|
|
||||||
];
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Shadows #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
|
|
||||||
# Enabled client-side shadows on windows. Note desktop windows
|
|
||||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
|
||||||
# unless explicitly requested using the wintypes option.
|
|
||||||
#
|
|
||||||
# shadow = false
|
|
||||||
shadow = false;
|
|
||||||
|
|
||||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
|
||||||
# shadow-radius = 12
|
|
||||||
shadow-radius = 7;
|
|
||||||
|
|
||||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
|
||||||
# shadow-opacity = .75
|
|
||||||
|
|
||||||
# The left offset for shadows, in pixels. (defaults to -15)
|
|
||||||
# shadow-offset-x = -15
|
|
||||||
shadow-offset-x = -7;
|
|
||||||
|
|
||||||
# The top offset for shadows, in pixels. (defaults to -15)
|
|
||||||
# shadow-offset-y = -15
|
|
||||||
shadow-offset-y = -7;
|
|
||||||
|
|
||||||
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
|
|
||||||
# you should use the *wintypes* option in your config file instead.
|
|
||||||
#
|
|
||||||
# no-dock-shadow = false
|
|
||||||
|
|
||||||
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
|
|
||||||
# you should use the *wintypes* option in your config file instead.
|
|
||||||
#
|
|
||||||
# no-dnd-shadow = false
|
|
||||||
|
|
||||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
|
||||||
# shadow-red = 0
|
|
||||||
|
|
||||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
|
||||||
# shadow-green = 0
|
|
||||||
|
|
||||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
|
||||||
# shadow-blue = 0
|
|
||||||
|
|
||||||
# Do not paint shadows on shaped windows. Note shaped windows
|
|
||||||
# here means windows setting its shape through X Shape extension.
|
|
||||||
# Those using ARGB background is beyond our control.
|
|
||||||
# Deprecated, use
|
|
||||||
# shadow-exclude = 'bounding_shaped'
|
|
||||||
# or
|
|
||||||
# shadow-exclude = 'bounding_shaped && !rounded_corners'
|
|
||||||
# instead.
|
|
||||||
#
|
|
||||||
# shadow-ignore-shaped = ''
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should have no shadow.
|
|
||||||
#
|
|
||||||
# examples:
|
|
||||||
# shadow-exclude = "n:e:Notification";
|
|
||||||
#
|
|
||||||
# shadow-exclude = []
|
|
||||||
shadow-exclude = [
|
|
||||||
"name = 'Notification'",
|
|
||||||
"class_g = 'Conky'",
|
|
||||||
"class_g ?= 'Notify-osd'",
|
|
||||||
"class_g = 'Cairo-clock'",
|
|
||||||
"class_g = 'slop'",
|
|
||||||
"class_g = 'Polybar'",
|
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Specify a X geometry that describes the region in which shadow should not
|
|
||||||
# be painted in, such as a dock window region. Use
|
|
||||||
# shadow-exclude-reg = "x10+0+0"
|
|
||||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
|
||||||
#
|
|
||||||
# shadow-exclude-reg = ""
|
|
||||||
|
|
||||||
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
|
||||||
# xinerama-shadow-crop = false
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Fading #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
|
|
||||||
# Fade windows in/out when opening/closing and when opacity changes,
|
|
||||||
# unless no-fading-openclose is used.
|
|
||||||
# fading = false
|
|
||||||
fading = true;
|
|
||||||
|
|
||||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
|
||||||
# fade-in-step = 0.028
|
|
||||||
fade-in-step = 0.03;
|
|
||||||
|
|
||||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
|
||||||
# fade-out-step = 0.03
|
|
||||||
fade-out-step = 0.03;
|
|
||||||
|
|
||||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
|
||||||
# fade-delta = 10
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should not be faded.
|
|
||||||
# don't need this, we disable fading for all normal windows with wintypes: {}
|
|
||||||
fade-exclude = [
|
|
||||||
"class_g = 'slop'" # maim
|
|
||||||
]
|
|
||||||
|
|
||||||
# Do not fade on window open/close.
|
|
||||||
# no-fading-openclose = false
|
|
||||||
|
|
||||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
|
||||||
# no-fading-destroyed-argb = false
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Transparency / Opacity #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
|
|
||||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
|
||||||
# inactive-opacity = 1
|
|
||||||
inactive-opacity = 1;
|
|
||||||
|
|
||||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
|
||||||
# frame-opacity = 1.0
|
|
||||||
frame-opacity = 1.0;
|
|
||||||
|
|
||||||
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
|
|
||||||
# menu-opacity = 1.0
|
|
||||||
# menu-opacity is depreciated use dropdown-menu and popup-menu instead.
|
|
||||||
|
|
||||||
#If using these 2 below change their values in line 510 & 511 aswell
|
|
||||||
popup_menu = { opacity = 0.8; }
|
|
||||||
dropdown_menu = { opacity = 0.8; }
|
|
||||||
|
|
||||||
|
|
||||||
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
|
|
||||||
# inactive-opacity-override = true
|
|
||||||
inactive-opacity-override = false;
|
|
||||||
|
|
||||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
|
||||||
active-opacity = 1.0;
|
|
||||||
|
|
||||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
|
||||||
# inactive-dim = 0.0
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should always be considered focused.
|
|
||||||
# focus-exclude = []
|
|
||||||
focus-exclude = [
|
|
||||||
"class_g = 'Cairo-clock'",
|
|
||||||
"class_g = 'Bar'", # lemonbar
|
|
||||||
"class_g = 'slop'", # maim
|
|
||||||
"class_g = 'LibreWolf'",
|
|
||||||
"class_g = 'Steam'"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
|
||||||
inactive-dim-fixed = 1.0;
|
|
||||||
|
|
||||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
|
||||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
|
||||||
# Note we don't make any guarantee about possible conflicts with other
|
|
||||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
|
||||||
# example:
|
|
||||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
|
||||||
#
|
|
||||||
# opacity-rule = []
|
|
||||||
opacity-rule = [
|
|
||||||
"100:fullscreen",
|
|
||||||
"80:class_g = 'Bar'", # lemonbar
|
|
||||||
"100:class_g = 'slop'", # maim
|
|
||||||
"100:class_g = 'XTerm'",
|
|
||||||
"100:class_g = 'URxvt'",
|
|
||||||
"100:class_g = 'kitty'",
|
|
||||||
"100:class_g = 'Alacritty'",
|
|
||||||
"80:class_g = 'Polybar'",
|
|
||||||
"100:class_g = 'code-oss'",
|
|
||||||
"100:class_g = 'Meld'",
|
|
||||||
"70:class_g = 'TelegramDesktop'",
|
|
||||||
"90:class_g = 'Joplin'",
|
|
||||||
"100:class_g = 'firefox'",
|
|
||||||
"100:class_g = 'Thunderbird'",
|
|
||||||
"100:class_g = 'LibreWolf'",
|
|
||||||
"100:class_g = 'Steam'"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Background-Blurring #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
|
|
||||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
|
||||||
blur-method = "dual_kawase";
|
|
||||||
blur-strength = 15;
|
|
||||||
|
|
||||||
# blur-size = 12
|
|
||||||
#
|
|
||||||
# blur-deviation = false
|
|
||||||
|
|
||||||
# Blur background of semi-transparent / ARGB windows.
|
|
||||||
# Bad in performance, with driver-dependent behavior.
|
|
||||||
# The name of the switch may change without prior notifications.
|
|
||||||
#
|
|
||||||
# blur-background = true;
|
|
||||||
|
|
||||||
# Blur background of windows when the window frame is not opaque.
|
|
||||||
# Implies:
|
|
||||||
# blur-background
|
|
||||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
|
||||||
#
|
|
||||||
# blur-background-frame = false;
|
|
||||||
|
|
||||||
|
|
||||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
|
||||||
# blur-background-fixed = false;
|
|
||||||
|
|
||||||
|
|
||||||
# Specify the blur convolution kernel, with the following format:
|
|
||||||
# example:
|
|
||||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
|
||||||
#
|
|
||||||
# blur-kern = ''
|
|
||||||
# blur-kern = "3x3box";
|
|
||||||
|
|
||||||
blur: {
|
|
||||||
# requires: https://github.com/ibhagwan/picom
|
|
||||||
method = "kawase";
|
|
||||||
#method = "kernel";
|
|
||||||
strength = 7;
|
|
||||||
# deviation = 1.0;
|
|
||||||
# kernel = "11x11gaussian";
|
|
||||||
background = false;
|
|
||||||
background-frame = false;
|
|
||||||
background-fixed = false;
|
|
||||||
kern = "3x3box";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Exclude conditions for background blur.
|
|
||||||
blur-background-exclude = [
|
|
||||||
"class_g = 'LibreWolf'",
|
|
||||||
#"window_type = 'dock'",
|
|
||||||
"window_type = 'desktop'",
|
|
||||||
# "class_g = 'Rofi'",
|
|
||||||
#"class_g = 'URxvt'",
|
|
||||||
#
|
|
||||||
# prevents picom from blurring the background
|
|
||||||
# when taking selection screenshot with `main`
|
|
||||||
# https://github.com/naelstrof/maim/issues/130
|
|
||||||
"class_g = 'slop'",
|
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# General Settings #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
|
||||||
# daemon = false
|
|
||||||
|
|
||||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
|
||||||
# `xrender` is the default one.
|
|
||||||
#
|
|
||||||
experimental-backends = true;
|
|
||||||
backend = "glx";
|
|
||||||
#backend = "xrender";
|
|
||||||
|
|
||||||
|
|
||||||
# Enable/disable VSync.
|
|
||||||
# vsync = false
|
|
||||||
vsync = true
|
|
||||||
|
|
||||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
|
||||||
# dbus = false
|
|
||||||
|
|
||||||
# Try to detect WM windows (a non-override-redirect window with no
|
|
||||||
# child that has 'WM_STATE') and mark them as active.
|
|
||||||
#
|
|
||||||
# mark-wmwin-focused = false
|
|
||||||
mark-wmwin-focused = true;
|
|
||||||
|
|
||||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
|
||||||
# mark-ovredir-focused = false
|
|
||||||
mark-ovredir-focused = true;
|
|
||||||
|
|
||||||
# Try to detect windows with rounded corners and don't consider them
|
|
||||||
# shaped windows. The accuracy is not very high, unfortunately.
|
|
||||||
#
|
|
||||||
# detect-rounded-corners = false
|
|
||||||
detect-rounded-corners = true;
|
|
||||||
|
|
||||||
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
|
|
||||||
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
|
|
||||||
#
|
|
||||||
# detect-client-opacity = false
|
|
||||||
detect-client-opacity = true;
|
|
||||||
|
|
||||||
# Specify refresh rate of the screen. If not specified or 0, picom will
|
|
||||||
# try detecting this with X RandR extension.
|
|
||||||
#
|
|
||||||
# refresh-rate = 60
|
|
||||||
refresh-rate = 0
|
|
||||||
|
|
||||||
# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
|
|
||||||
# boost performance. This should not be used with
|
|
||||||
# vsync drm/opengl/opengl-oml
|
|
||||||
# as they essentially does sw-opti's job already,
|
|
||||||
# unless you wish to specify a lower refresh rate than the actual value.
|
|
||||||
#
|
|
||||||
# sw-opti =
|
|
||||||
|
|
||||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
|
||||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
|
||||||
# provided that the WM supports it.
|
|
||||||
#
|
|
||||||
# use-ewmh-active-win = false
|
|
||||||
|
|
||||||
# Unredirect all windows if a full-screen opaque window is detected,
|
|
||||||
# to maximize performance for full-screen windows. Known to cause flickering
|
|
||||||
# when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious.
|
|
||||||
#
|
|
||||||
unredir-if-possible = true;
|
|
||||||
|
|
||||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
|
||||||
# unredir-if-possible-delay = 0
|
|
||||||
|
|
||||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
|
||||||
unredir-if-possible-exclude = [
|
|
||||||
"class_g = 'looking-glass-client' && !focused",
|
|
||||||
"class_g = 'LibreWolf'"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
|
||||||
# in the same group focused at the same time.
|
|
||||||
#
|
|
||||||
# detect-transient = false
|
|
||||||
detect-transient = true
|
|
||||||
|
|
||||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
|
||||||
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
|
|
||||||
# detect-transient is enabled, too.
|
|
||||||
#
|
|
||||||
# detect-client-leader = false
|
|
||||||
detect-client-leader = true
|
|
||||||
|
|
||||||
# Resize damaged region by a specific number of pixels.
|
|
||||||
# A positive value enlarges it while a negative one shrinks it.
|
|
||||||
# If the value is positive, those additional pixels will not be actually painted
|
|
||||||
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
|
||||||
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
|
||||||
# Primarily used to fix the line corruption issues of blur,
|
|
||||||
# in which case you should use the blur radius value here
|
|
||||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
|
||||||
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
|
||||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
|
||||||
#
|
|
||||||
# resize-damage = 1
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should be painted with inverted color.
|
|
||||||
# Resource-hogging, and is not well tested.
|
|
||||||
#
|
|
||||||
# invert-color-include = []
|
|
||||||
|
|
||||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
|
||||||
# Might cause incorrect opacity when rendering transparent content (but never
|
|
||||||
# practically happened) and may not work with blur-background.
|
|
||||||
# My tests show a 15% performance boost. Recommended.
|
|
||||||
#
|
|
||||||
# glx-no-stencil = false
|
|
||||||
|
|
||||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
|
||||||
# Probably could improve performance on rapid window content changes,
|
|
||||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
|
||||||
# Recommended if it works.
|
|
||||||
#
|
|
||||||
# glx-no-rebind-pixmap = false
|
|
||||||
|
|
||||||
# Disable the use of damage information.
|
|
||||||
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
|
||||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
|
||||||
# The opposing option is use-damage
|
|
||||||
#
|
|
||||||
# no-use-damage = false
|
|
||||||
#use-damage = true (Causing Weird Black semi opaque rectangles when terminal is opened)
|
|
||||||
#Changing use-damage to false fixes the problem
|
|
||||||
use-damage = false
|
|
||||||
|
|
||||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
|
||||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
|
||||||
# with GLX backend for some users.
|
|
||||||
#
|
|
||||||
# xrender-sync-fence = false
|
|
||||||
|
|
||||||
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
|
||||||
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
|
||||||
# in the source tree for examples.
|
|
||||||
#
|
|
||||||
# glx-fshader-win = ''
|
|
||||||
|
|
||||||
# Force all windows to be painted with blending. Useful if you
|
|
||||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
|
||||||
#
|
|
||||||
# force-win-blend = false
|
|
||||||
|
|
||||||
# Do not use EWMH to detect fullscreen windows.
|
|
||||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
|
||||||
#
|
|
||||||
# no-ewmh-fullscreen = false
|
|
||||||
|
|
||||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
|
||||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
|
||||||
# so this could comes with a performance hit.
|
|
||||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
|
||||||
#
|
|
||||||
# max-brightness = 1.0
|
|
||||||
|
|
||||||
# Make transparent windows clip other windows like non-transparent windows do,
|
|
||||||
# instead of blending on top of them.
|
|
||||||
#
|
|
||||||
# transparent-clipping = false
|
|
||||||
|
|
||||||
# Set the log level. Possible values are:
|
|
||||||
# "trace", "debug", "info", "warn", "error"
|
|
||||||
# in increasing level of importance. Case doesn't matter.
|
|
||||||
# If using the "TRACE" log level, it's better to log into a file
|
|
||||||
# using *--log-file*, since it can generate a huge stream of logs.
|
|
||||||
#
|
|
||||||
# log-level = "debug"
|
|
||||||
log-level = "info";
|
|
||||||
|
|
||||||
# Set the log file.
|
|
||||||
# If *--log-file* is never specified, logs will be written to stderr.
|
|
||||||
# Otherwise, logs will to written to the given file, though some of the early
|
|
||||||
# logs might still be written to the stderr.
|
|
||||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
|
||||||
#
|
|
||||||
# log-file = '/path/to/your/log/file'
|
|
||||||
|
|
||||||
# Show all X errors (for debugging)
|
|
||||||
# show-all-xerrors = false
|
|
||||||
|
|
||||||
# Write process ID to a file.
|
|
||||||
# write-pid-path = '/path/to/your/log/file'
|
|
||||||
|
|
||||||
# Window type settings
|
|
||||||
#
|
|
||||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
|
||||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
|
||||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
|
||||||
# "tooltip", "notification", "combo", and "dnd".
|
|
||||||
#
|
|
||||||
# Following per window-type options are available: ::
|
|
||||||
#
|
|
||||||
# fade, shadow:::
|
|
||||||
# Controls window-type-specific shadow and fade settings.
|
|
||||||
#
|
|
||||||
# opacity:::
|
|
||||||
# Controls default opacity of the window type.
|
|
||||||
#
|
|
||||||
# focus:::
|
|
||||||
# Controls whether the window of this type is to be always considered focused.
|
|
||||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
|
||||||
#
|
|
||||||
# full-shadow:::
|
|
||||||
# Controls whether shadow is drawn under the parts of the window that you
|
|
||||||
# normally won't be able to see. Useful when the window has parts of it
|
|
||||||
# transparent, and you want shadows in those areas.
|
|
||||||
#
|
|
||||||
# redir-ignore:::
|
|
||||||
# Controls whether this type of windows should cause screen to become
|
|
||||||
# redirected again after been unredirected. If you have unredir-if-possible
|
|
||||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
|
||||||
# you can set this to `true`.
|
|
||||||
#
|
|
||||||
wintypes:
|
|
||||||
{
|
|
||||||
normal = { fade = false; shadow = false; }
|
|
||||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
|
||||||
dock = { shadow = false; }
|
|
||||||
dnd = { shadow = false; }
|
|
||||||
popup_menu = { opacity = 0.8; }
|
|
||||||
dropdown_menu = { opacity = 0.8; }
|
|
||||||
};
|
|
|
@ -1,113 +0,0 @@
|
||||||
* {
|
|
||||||
font: "JetBrainsMono Nerd Font 10";
|
|
||||||
foreground: #DADAE8;
|
|
||||||
background: #1E1E2E;
|
|
||||||
active-background: #94e2d5;
|
|
||||||
urgent-background: #E38C8F;
|
|
||||||
selected-background: @active-background;
|
|
||||||
selected-urgent-background: @urgent-background;
|
|
||||||
selected-active-background: @active-background;
|
|
||||||
separatorcolor: @active-background;
|
|
||||||
bordercolor: @active-background;
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
background-color: @background;
|
|
||||||
border: 2;
|
|
||||||
border-radius: 10;
|
|
||||||
border-color: @bordercolor;
|
|
||||||
padding: 5;
|
|
||||||
width: 40%;
|
|
||||||
}
|
|
||||||
mainbox {
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
message {
|
|
||||||
border: 0px dash 0px 0px ;
|
|
||||||
border-color: @separatorcolor;
|
|
||||||
padding: 1px ;
|
|
||||||
}
|
|
||||||
textbox {
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
listview {
|
|
||||||
fixed-height: 0;
|
|
||||||
border: 2px solid 0px 0px ;
|
|
||||||
border-color: @bordercolor;
|
|
||||||
spacing: 2px ;
|
|
||||||
scrollbar: false;
|
|
||||||
padding: 2px 0px 0px ;
|
|
||||||
lines: 7;
|
|
||||||
}
|
|
||||||
element {
|
|
||||||
border: 0;
|
|
||||||
padding: 1px 7px ;
|
|
||||||
}
|
|
||||||
element.normal.normal {
|
|
||||||
background-color: @background;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
element.normal.urgent {
|
|
||||||
background-color: @urgent-background;
|
|
||||||
text-color: @urgent-foreground;
|
|
||||||
}
|
|
||||||
element.normal.active {
|
|
||||||
background-color: @active-background;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
element.selected.normal {
|
|
||||||
background-color: @selected-background;
|
|
||||||
border-radius: 10;
|
|
||||||
text-color: @background;
|
|
||||||
}
|
|
||||||
element.selected.urgent {
|
|
||||||
background-color: @selected-urgent-background;
|
|
||||||
text-color: @background;
|
|
||||||
}
|
|
||||||
element.selected.active {
|
|
||||||
background-color: @selected-active-background;
|
|
||||||
text-color: @background;
|
|
||||||
}
|
|
||||||
element.alternate.normal {
|
|
||||||
background-color: @background;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
element.alternate.urgent {
|
|
||||||
background-color: @urgent-background;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
element.alternate.active {
|
|
||||||
background-color: @active-background;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
button.selected {
|
|
||||||
background-color: @selected-background;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
inputbar {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @foreground;
|
|
||||||
padding: 1px ;
|
|
||||||
}
|
|
||||||
case-indicator {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
entry {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
prompt {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
inputbar {
|
|
||||||
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
|
||||||
}
|
|
||||||
textbox-prompt-colon {
|
|
||||||
expand: false;
|
|
||||||
str: " :";
|
|
||||||
margin: 0px 0.3em 0em 0em ;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
|
@ -1,181 +0,0 @@
|
||||||
{
|
|
||||||
"layer": "top", // Waybar at top layer
|
|
||||||
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
|
||||||
"height": 20, // Waybar height (to be removed for auto height)
|
|
||||||
// "width": 1280, // Waybar width
|
|
||||||
"spacing": 4, // Gaps between modules (4px)
|
|
||||||
// Choose the order of the modules
|
|
||||||
"modules-left": ["hyprland/workspaces", "hyprland/mode", "hyprland/scratchpad", "custom/media"],
|
|
||||||
//"modules-center": ["hyprland/window"],
|
|
||||||
"modules-right": [ "cpu", "memory", "clock", "tray"],
|
|
||||||
//Modules configuration
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"disable-scroll": true,
|
|
||||||
"all-outputs": false,
|
|
||||||
"warp-on-scroll": false,
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"0": "0",
|
|
||||||
"1": "1",
|
|
||||||
"2": "2",
|
|
||||||
"3": "3",
|
|
||||||
"4": "4",
|
|
||||||
"5": "5",
|
|
||||||
"6": "6",
|
|
||||||
"7": "7",
|
|
||||||
"8": "8",
|
|
||||||
"9": "9",
|
|
||||||
"10": "1",
|
|
||||||
"11": "2",
|
|
||||||
"12": "3",
|
|
||||||
"13": "4",
|
|
||||||
"14": "5",
|
|
||||||
"15": "6",
|
|
||||||
"16": "7",
|
|
||||||
"17": "8",
|
|
||||||
"18": "9",
|
|
||||||
"19": "10",
|
|
||||||
"urgent": "",
|
|
||||||
"focused": "",
|
|
||||||
"default": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"keyboard-state": {
|
|
||||||
"numlock": true,
|
|
||||||
"capslock": true,
|
|
||||||
"format": "{name} {icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"locked": "",
|
|
||||||
"unlocked": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprland/mode": {
|
|
||||||
"format": "<span style=\"italic\">{}</span>"
|
|
||||||
},
|
|
||||||
"hyprland/scratchpad": {
|
|
||||||
"format": "{icon} {count}",
|
|
||||||
"show-empty": false,
|
|
||||||
"format-icons": ["", ""],
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "{app}: {title}"
|
|
||||||
},
|
|
||||||
"mpd": {
|
|
||||||
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
|
|
||||||
"format-disconnected": "Disconnected ",
|
|
||||||
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
|
||||||
"unknown-tag": "N/A",
|
|
||||||
"interval": 2,
|
|
||||||
"consume-icons": {
|
|
||||||
"on": " "
|
|
||||||
},
|
|
||||||
"random-icons": {
|
|
||||||
"off": "<span color=\"#f53c3c\"></span> ",
|
|
||||||
"on": " "
|
|
||||||
},
|
|
||||||
"repeat-icons": {
|
|
||||||
"on": " "
|
|
||||||
},
|
|
||||||
"single-icons": {
|
|
||||||
"on": "1 "
|
|
||||||
},
|
|
||||||
"state-icons": {
|
|
||||||
"paused": "",
|
|
||||||
"playing": ""
|
|
||||||
},
|
|
||||||
"tooltip-format": "MPD (connected)",
|
|
||||||
"tooltip-format-disconnected": "MPD (disconnected)"
|
|
||||||
},
|
|
||||||
"idle_inhibitor": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"activated": "",
|
|
||||||
"deactivated": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tray": {
|
|
||||||
// "icon-size": 21,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
// "timezone": "America/New_York",
|
|
||||||
"format": "{: %a, %m.%d | %R}"
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"format": "{usage}% ",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"format": "{}% "
|
|
||||||
},
|
|
||||||
"temperature": {
|
|
||||||
// "thermal-zone": 2,
|
|
||||||
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
|
||||||
"critical-threshold": 80,
|
|
||||||
// "format-critical": "{temperatureC}°C {icon}",
|
|
||||||
"format": "{temperatureC}°C {icon}",
|
|
||||||
"format-icons": ["", "", ""]
|
|
||||||
},
|
|
||||||
"backlight": {
|
|
||||||
// "device": "acpi_video1",
|
|
||||||
"format": "{percent}% {icon}",
|
|
||||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
|
||||||
},
|
|
||||||
"battery": {
|
|
||||||
"states": {
|
|
||||||
// "good": 95,
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 15
|
|
||||||
},
|
|
||||||
"format": "{capacity}% {icon}",
|
|
||||||
"format-charging": "{capacity}% ",
|
|
||||||
"format-plugged": "{capacity}% ",
|
|
||||||
"format-alt": "{time} {icon}",
|
|
||||||
// "format-good": "", // An empty format will hide the module
|
|
||||||
// "format-full": "",
|
|
||||||
"format-icons": ["", "", "", "", ""]
|
|
||||||
},
|
|
||||||
"battery#bat2": {
|
|
||||||
"bat": "BAT2"
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
|
||||||
"format-wifi": "{essid} ({signalStrength}%) ",
|
|
||||||
"format-ethernet": "{ipaddr}/{cidr} ",
|
|
||||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
|
||||||
"format-linked": "{ifname} (No IP) ",
|
|
||||||
"format-disconnected": "Disconnected ⚠",
|
|
||||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
|
||||||
},
|
|
||||||
"pulseaudio": {
|
|
||||||
// "scroll-step": 1, // %, can be a float
|
|
||||||
"format": "{volume}% {icon} {format_source}",
|
|
||||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
|
||||||
"format-bluetooth-muted": " {icon} {format_source}",
|
|
||||||
"format-muted": " {format_source}",
|
|
||||||
"format-source": "{volume}% ",
|
|
||||||
"format-source-muted": "",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": "",
|
|
||||||
"hands-free": "",
|
|
||||||
"headset": "",
|
|
||||||
"phone": "",
|
|
||||||
"portable": "",
|
|
||||||
"car": "",
|
|
||||||
"default": ["", "", ""]
|
|
||||||
},
|
|
||||||
"on-click": "pavucontrol"
|
|
||||||
},
|
|
||||||
"custom/media": {
|
|
||||||
"format": "{icon} {}",
|
|
||||||
"return-type": "json",
|
|
||||||
"max-length": 40,
|
|
||||||
"format-icons": {
|
|
||||||
"spotify": "",
|
|
||||||
"default": "🎜"
|
|
||||||
},
|
|
||||||
"escape": true,
|
|
||||||
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
|
||||||
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
/*
|
|
||||||
*
|
|
||||||
* Catppuccin Mocha palette
|
|
||||||
* Maintainer: rubyowo
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
@define-color base #1e1e2e;
|
|
||||||
@define-color mantle #181825;
|
|
||||||
@define-color crust #11111b;
|
|
||||||
|
|
||||||
@define-color text #cdd6f4;
|
|
||||||
@define-color subtext0 #a6adc8;
|
|
||||||
@define-color subtext1 #bac2de;
|
|
||||||
|
|
||||||
@define-color surface0 #313244;
|
|
||||||
@define-color surface1 #45475a;
|
|
||||||
@define-color surface2 #585b70;
|
|
||||||
|
|
||||||
@define-color overlay0 #6c7086;
|
|
||||||
@define-color overlay1 #7f849c;
|
|
||||||
@define-color overlay2 #9399b2;
|
|
||||||
|
|
||||||
@define-color blue #89b4fa;
|
|
||||||
@define-color lavender #b4befe;
|
|
||||||
@define-color sapphire #74c7ec;
|
|
||||||
@define-color sky #89dceb;
|
|
||||||
@define-color teal #94e2d5;
|
|
||||||
@define-color green #a6e3a1;
|
|
||||||
@define-color yellow #f9e2af;
|
|
||||||
@define-color peach #fab387;
|
|
||||||
@define-color maroon #eba0ac;
|
|
||||||
@define-color red #f38ba8;
|
|
||||||
@define-color mauve #cba6f7;
|
|
||||||
@define-color pink #f5c2e7;
|
|
||||||
@define-color flamingo #f2cdcd;
|
|
||||||
@define-color rosewater #f5e0dc;
|
|
|
@ -1,148 +0,0 @@
|
||||||
@import "mocha.css";
|
|
||||||
|
|
||||||
* {
|
|
||||||
/* `otf-font-awesome` is required to be installed for icons */
|
|
||||||
font-family: FontAwesome, Inter, Roboto, Helvetica, Arial, sans-serif;
|
|
||||||
font-size: 13px;
|
|
||||||
min-height: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: shade(@base, 0.9);
|
|
||||||
/* border: 2px solid alpha(@crust, 0.3); */
|
|
||||||
color: #ffffff;
|
|
||||||
transition-property: background-color;
|
|
||||||
transition-duration: .5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar.hidden {
|
|
||||||
opacity: 0.2;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
window#waybar.empty {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
window#waybar.solo {
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
window#waybar.termite {
|
|
||||||
background-color: #3F3F3F;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar.chromium {
|
|
||||||
background-color: #000000;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
/* Use box-shadow instead of border so the text isn't offset */
|
|
||||||
box-shadow: inset 0 -3px transparent;
|
|
||||||
/* Avoid rounded borders under each button name */
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover,
|
|
||||||
#workspaces button.active {
|
|
||||||
border-radius: 3rem;
|
|
||||||
background: shade(@surface2, 0.9);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#clock,
|
|
||||||
#battery,
|
|
||||||
#cpu,
|
|
||||||
#memory,
|
|
||||||
#disk,
|
|
||||||
#temperature,
|
|
||||||
#backlight,
|
|
||||||
#network,
|
|
||||||
#pulseaudio,
|
|
||||||
#wireplumber,
|
|
||||||
#custom-media,
|
|
||||||
#tray,
|
|
||||||
#mode,
|
|
||||||
#idle_inhibitor,
|
|
||||||
#scratchpad,
|
|
||||||
#mpd {
|
|
||||||
padding: 0 0.6rem;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window,
|
|
||||||
#workspaces {
|
|
||||||
margin: 0 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the leftmost module, omit left margin */
|
|
||||||
.modules-left > widget:first-child > #workspaces {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the rightmost module, omit right margin */
|
|
||||||
.modules-right > widget:last-child > #workspaces {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
color: shade(@teal, 0.9);
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
|
||||||
background-color: #ffffff;
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.charging, #battery.plugged {
|
|
||||||
color: #ffffff;
|
|
||||||
background-color: #26A65B;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink {
|
|
||||||
to {
|
|
||||||
background-color: #ffffff;
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
background-color: #f53c3c;
|
|
||||||
color: #ffffff;
|
|
||||||
animation-name: blink;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces,
|
|
||||||
.modules-right{
|
|
||||||
padding: 0.15rem;
|
|
||||||
margin: 0.5rem;
|
|
||||||
border-radius: 3rem;
|
|
||||||
background: shade(@surface0, 0.9);
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-left{
|
|
||||||
margin-left: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#cpu {
|
|
||||||
color: shade(@mauve, 0.9);
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory {
|
|
||||||
color: shade(@maroon, 0.9);
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray > .passive {
|
|
||||||
-gtk-icon-effect: dim;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray > .needs-attention {
|
|
||||||
-gtk-icon-effect: highlight;
|
|
||||||
background-color: #eb4d4b;
|
|
||||||
}
|
|
|
@ -1,66 +0,0 @@
|
||||||
@import "mocha.css";
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: "Inter", "Font Awesome 6 Free";
|
|
||||||
font-size: 1rem;
|
|
||||||
min-height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock,
|
|
||||||
#battery,
|
|
||||||
#cpu,
|
|
||||||
#memory,
|
|
||||||
#disk,
|
|
||||||
#temperature,
|
|
||||||
#backlight,
|
|
||||||
#network,
|
|
||||||
#pulseaudio,
|
|
||||||
#wireplumber,
|
|
||||||
#custom-media,
|
|
||||||
#tray,
|
|
||||||
#mode,
|
|
||||||
#idle_inhibitor,
|
|
||||||
#scratchpad,
|
|
||||||
#mpd {
|
|
||||||
padding: 0 0.5rem;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#cpu {
|
|
||||||
color: @mauve;
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory {
|
|
||||||
color: @peach;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
color: @red;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window,
|
|
||||||
#workspaces {
|
|
||||||
margin: 0 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the leftmost module, omit left margin */
|
|
||||||
.modules-left > widget:first-child > #workspaces {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the rightmost module, omit right margin */
|
|
||||||
.modules-right > widget:last-child > #workspaces {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button{
|
|
||||||
border-radius:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
background-color: @surface0;
|
|
||||||
}
|
|
|
@ -1,37 +0,0 @@
|
||||||
set default-fg "#CDD6F4"
|
|
||||||
set default-bg "#1E1E2E"
|
|
||||||
|
|
||||||
set completion-bg "#313244"
|
|
||||||
set completion-fg "#CDD6F4"
|
|
||||||
set completion-highlight-bg "#575268"
|
|
||||||
set completion-highlight-fg "#CDD6F4"
|
|
||||||
set completion-group-bg "#313244"
|
|
||||||
set completion-group-fg "#89B4FA"
|
|
||||||
|
|
||||||
set statusbar-fg "#CDD6F4"
|
|
||||||
set statusbar-bg "#313244"
|
|
||||||
|
|
||||||
set notification-bg "#313244"
|
|
||||||
set notification-fg "#CDD6F4"
|
|
||||||
set notification-error-bg "#313244"
|
|
||||||
set notification-error-fg "#F38BA8"
|
|
||||||
set notification-warning-bg "#313244"
|
|
||||||
set notification-warning-fg "#FAE3B0"
|
|
||||||
|
|
||||||
set inputbar-fg "#CDD6F4"
|
|
||||||
set inputbar-bg "#313244"
|
|
||||||
|
|
||||||
set recolor-lightcolor "#1E1E2E"
|
|
||||||
set recolor-darkcolor "#CDD6F4"
|
|
||||||
|
|
||||||
set index-fg "#CDD6F4"
|
|
||||||
set index-bg "#1E1E2E"
|
|
||||||
set index-active-fg "#CDD6F4"
|
|
||||||
set index-active-bg "#313244"
|
|
||||||
|
|
||||||
set render-loading-bg "#1E1E2E"
|
|
||||||
set render-loading-fg "#CDD6F4"
|
|
||||||
|
|
||||||
set highlight-color "#575268"
|
|
||||||
set highlight-fg "#F5C2E7"
|
|
||||||
set highlight-active-color "#F5C2E7"
|
|
|
@ -1,3 +0,0 @@
|
||||||
include catppuccin-mocha
|
|
||||||
set selection-clipboard clipboard
|
|
||||||
set recolor true
|
|
File diff suppressed because it is too large
Load diff
BIN
rsc/wallpaper/rolltreppe-gluehwein.jpg
Normal file
BIN
rsc/wallpaper/rolltreppe-gluehwein.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 MiB |
Loading…
Reference in a new issue