Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ba955e5fc1 |
131
flake.lock
generated
@ -1,44 +1,5 @@
|
||||
{
|
||||
"nodes": {
|
||||
"catppuccin": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737579274,
|
||||
"narHash": "sha256-8kBIYfn8TI9jbffhDNS12SdbQHb9ITXflwcgIJBeGqw=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "06f0ea19334bcc8112e6d671fd53e61f9e3ad63a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -46,43 +7,26 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736373539,
|
||||
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
|
||||
"lastModified": 1705269478,
|
||||
"narHash": "sha256-j7Rp8Y3ckBHOlIzqe0g2+/BVce9SU/dVtn4Eb0rMuY4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
|
||||
"rev": "846200eb574faa2af808ed02e653c2b8ed51fd71",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1736012469,
|
||||
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1738410390,
|
||||
"narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=",
|
||||
"lastModified": 1705133751,
|
||||
"narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3a228057f5b619feb3186e986dbe76278d707b6e",
|
||||
"rev": "9b19f5e77dd906cb52dade0b7bd280339d2a1f3d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -92,50 +36,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1738435198,
|
||||
"narHash": "sha256-5+Hmo4nbqw8FrW85FlNm4IIrRnZ7bn0cmXlScNsNRLo=",
|
||||
"lastModified": 1705183652,
|
||||
"narHash": "sha256-rnfkyUH0x72oHfiSDhuCHDHg3gFgF+lF8zkkg5Zihsw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f6687779bf4c396250831aa5a32cbfeb85bb07a3",
|
||||
"rev": "428544ae95eec077c7f823b422afae5f174dee4b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1738142207,
|
||||
"narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9d3ae807ebd2981d593cddd0080856873139aa40",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738362438,
|
||||
"narHash": "sha256-EO2dVkMVLThWqv4hobEZEZGWBEuH2Z9SYqQDrbLSclU=",
|
||||
"lastModified": 1705283909,
|
||||
"narHash": "sha256-7F2KyTB4cApsHg7oltJ1r0QFWMjWTOaS9m2IbKFhj6Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "95ddad0ff0e67c90314c6ca46324dce5f9a910d2",
|
||||
"rev": "375b9a949232cd1e31bd89d197a5605a17d2aeb3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -146,33 +69,11 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"catppuccin": "catppuccin",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nur": "nur"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733222881,
|
||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
77
flake.nix
@ -2,41 +2,31 @@
|
||||
description = "NixOS system flake.";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-24.11";
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, catppuccin, nur, home-manager, ... } @ inputs:
|
||||
outputs = { self, nixpkgs, nixpkgs-stable, nur, home-manager, ... } @ inputs:
|
||||
let
|
||||
inherit (self) outputs;
|
||||
system = "x86_64-linux";
|
||||
timeZone = "America/Denver";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
unstablePkgs = import nixpkgs-unstable { system = system; config = { allowUnfree = true; }; };
|
||||
# pkgs23 = import nixpkgs-23 { system = system; config = { allowUnfree = true; }; };
|
||||
stablePkgs = nixpkgs-stable.legacyPackages.${system};
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
luci = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs outputs timeZone system;
|
||||
};
|
||||
nixServer = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
inputs.home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.luci = import ./luci/modules/home-manager/home.nix;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
};
|
||||
}
|
||||
./luci/default.nix
|
||||
# nixpkgs.overlays = [ nur.overlay ];
|
||||
./nixos/server_configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
];
|
||||
};
|
||||
nate = nixpkgs.lib.nixosSystem {
|
||||
@ -45,43 +35,18 @@
|
||||
inherit inputs outputs timeZone system;
|
||||
};
|
||||
modules = [
|
||||
catppuccin.nixosModules.catppuccin
|
||||
# Setup home manager
|
||||
inputs.home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.nate = import ./nate/modules/home-manager/home.nix;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs outputs unstablePkgs;
|
||||
inherit inputs outputs;
|
||||
};
|
||||
}
|
||||
./nate/default.nix
|
||||
];
|
||||
};
|
||||
nate-work = nixpkgs.lib.nixosSystem {
|
||||
# Pass args to desktop configuration
|
||||
specialArgs = {
|
||||
inherit inputs outputs timeZone system;
|
||||
};
|
||||
modules = [
|
||||
catppuccin.nixosModules.catppuccin
|
||||
# Setup home manager
|
||||
inputs.home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.nate = {
|
||||
imports = [
|
||||
./nate-work/modules/home-manager/home.nix
|
||||
catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
};
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs outputs unstablePkgs;
|
||||
};
|
||||
}
|
||||
./nate-work/default.nix
|
||||
];
|
||||
};
|
||||
jaci = nixpkgs.lib.nixosSystem {
|
||||
# Pass args to desktop configuration
|
||||
specialArgs = {
|
||||
@ -100,24 +65,6 @@
|
||||
./jaci/default.nix
|
||||
];
|
||||
};
|
||||
scrappy = nixpkgs.lib.nixosSystem {
|
||||
# Pass args to desktop configuration
|
||||
specialArgs = {
|
||||
inherit inputs outputs timeZone system;
|
||||
};
|
||||
modules = [
|
||||
# Setup home manager
|
||||
inputs.home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.scrappy = import ./scrappy/modules/home-manager/home.nix;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs outputs unstablePkgs;
|
||||
};
|
||||
}
|
||||
./scrappy/default.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -27,7 +27,7 @@
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 21d";
|
||||
options = "--delete-older-than 1w";
|
||||
};
|
||||
|
||||
# Optimize storage
|
||||
|
24
jaci/dotfiles/colors.txt
Normal file
@ -0,0 +1,24 @@
|
||||
# Colors
|
||||
Celadon - #B0F2B4
|
||||
Celeste - #BAF2E9
|
||||
Thistle - #DFC2F2
|
||||
English Violet - #51344D
|
||||
Indian Red - #C97064
|
||||
Black Olive - #1F271B - Black, Font
|
||||
Egg Shell - #F8F1DD - White, Font
|
||||
|
||||
## Coolors Link
|
||||
|
||||
[here](https://coolors.co/b0f2b4-dfc2f2-baf2e9-51344d-c97064)
|
||||
|
||||
## CSS
|
||||
|
||||
```css
|
||||
@define-color celadon #b0f2b4
|
||||
@define-color celeste #baf2e9
|
||||
@define-color thistle #dfc2f2
|
||||
@define-color english_violet #51344d
|
||||
@define-color indian_red #c97064
|
||||
@define-color black_olive #1f271b
|
||||
@define-color egg_shell #f8f1dd
|
||||
```
|
@ -1,169 +0,0 @@
|
||||
# Theme
|
||||
theme = "catppuccin_macchiato"
|
||||
|
||||
[keys.normal]
|
||||
|
||||
# Navigation
|
||||
n = "move_char_left" # Maps the 'a' key to the move_char_left command
|
||||
i = "move_visual_line_down"
|
||||
e = "move_visual_line_up"
|
||||
o = "move_char_right"
|
||||
|
||||
I = "page_down"
|
||||
E = "page_up"
|
||||
|
||||
# Modes
|
||||
h = "insert_mode"
|
||||
H = "insert_at_line_start"
|
||||
l = "open_below"
|
||||
L = "open_above"
|
||||
|
||||
# Search
|
||||
k = "search_next"
|
||||
K = "search_prev"
|
||||
|
||||
# Selection
|
||||
C-s = "split_selection_on_newline"
|
||||
C-minus = "merge_selections"
|
||||
C-_ = "merge_consecutive_selections"
|
||||
"C-;" = "flip_selections"
|
||||
"C-:" = "ensure_selections_forward"
|
||||
"C-," = "remove_primary_selection"
|
||||
C-c = "change_selection_noyank"
|
||||
C-d = "delete_selection_noyank"
|
||||
"C-(" = "rotate_selection_contents_backward"
|
||||
"C-)" = "rotate_selection_contents_forward"
|
||||
C-x = "shrink_to_line_bounds"
|
||||
C-J = "join_selections_space"
|
||||
C-K = "remove_selections"
|
||||
C-o = "expand_selection"
|
||||
C-i = "shrink_selection"
|
||||
C-p = "select_prev_sibling"
|
||||
C-n = "select_next_sibling"
|
||||
|
||||
# Misc
|
||||
"C-/" = "toggle_comments"
|
||||
|
||||
[keys.normal."C-space"]
|
||||
x = ":wbc!"
|
||||
s = ":w!" # save file
|
||||
o = ":config-open"
|
||||
|
||||
[keys.normal.g]
|
||||
"/" = "goto_next_buffer"
|
||||
h = "goto_previous_buffer"
|
||||
n = ["collapse_selection", "extend_to_line_start"]
|
||||
o = ["collapse_selection", "extend_to_line_end"]
|
||||
e = "move_line_up"
|
||||
i = "move_line_down"
|
||||
l = "goto_last_line"
|
||||
|
||||
p = "no_op"
|
||||
k = "no_op"
|
||||
j = "no_op"
|
||||
|
||||
[keys.normal.m]
|
||||
m = ["select_mode", "match_brackets", "normal_mode"]
|
||||
|
||||
[keys.select]
|
||||
n = "extend_char_left"
|
||||
i = "extend_line_down"
|
||||
e = "extend_line_up"
|
||||
o = "extend_char_right"
|
||||
|
||||
[keys.select.g]
|
||||
"/" = "goto_next_buffer"
|
||||
h = "goto_previous_buffer"
|
||||
n = "goto_line_start"
|
||||
o = "goto_line_end"
|
||||
e = "move_line_up"
|
||||
i = "move_line_down"
|
||||
l = "goto_last_line"
|
||||
|
||||
p = "no_op"
|
||||
k = "no_op"
|
||||
j = "no_op"
|
||||
|
||||
# Window mode
|
||||
[keys.normal."C-w"]
|
||||
h = "hsplit"
|
||||
C-h = "hsplit"
|
||||
n = "jump_view_left"
|
||||
C-n = "jump_view_left"
|
||||
i = "jump_view_down"
|
||||
I = "swap_view_down"
|
||||
C-i = "jump_view_down"
|
||||
e = "jump_view_up"
|
||||
E = "swap_view_up"
|
||||
C-e = "jump_view_up"
|
||||
o = "jump_view_right"
|
||||
O = "swap_view_right"
|
||||
C-o = "jump_view_right"
|
||||
|
||||
# Remove old
|
||||
s = "no_op"
|
||||
C-s = "no_op"
|
||||
H = "no_op"
|
||||
j = "no_op"
|
||||
J = "no_op"
|
||||
C-j = "no_op"
|
||||
k = "no_op"
|
||||
K = "no_op"
|
||||
C-k = "no_op"
|
||||
l = "no_op"
|
||||
L = "no_op"
|
||||
C-l = "no_op"
|
||||
|
||||
[keys.normal."space"]
|
||||
h = "hover"
|
||||
k = "select_references_to_symbol_under_cursor"
|
||||
|
||||
[editor]
|
||||
bufferline = "always"
|
||||
auto-save = true
|
||||
line-number = "relative"
|
||||
cursorline = true
|
||||
cursorcolumn = true
|
||||
color-modes = true
|
||||
text-width = 120
|
||||
auto-format = true
|
||||
|
||||
[editor.statusline]
|
||||
left = ["mode", "spinner", "version-control"]
|
||||
center = ["file-name"]
|
||||
mode.normal = "Normal"
|
||||
mode.insert = "Insert"
|
||||
mode.select = "Select"
|
||||
|
||||
[editor.indent-guides]
|
||||
render = true
|
||||
|
||||
[editor.lsp]
|
||||
display-messages = true
|
||||
display-inlay-hints = false
|
||||
|
||||
[editor.cursor-shape]
|
||||
insert = "bar"
|
||||
normal = "block"
|
||||
select = "underline"
|
||||
|
||||
[editor.file-picker]
|
||||
hidden = false
|
||||
|
||||
[editor.whitespace.render]
|
||||
space = "all"
|
||||
tab = "all"
|
||||
tabpad = "all"
|
||||
newline = "none"
|
||||
nbsp = "none"
|
||||
|
||||
[editor.whitespace.characters]
|
||||
space = "·"
|
||||
tab = "⇀"
|
||||
tabpad = " "
|
||||
|
||||
|
||||
#w = "move_line_up" # Maps the 'w' key move_line_up
|
||||
#"C-S-esc" = "extend_line" # Maps Ctrl-Shift-Escape to extend_line
|
||||
#g = { a = "code_action" } # Maps `ga` to show possible code actions
|
||||
#"ret" = ["open_below", "normal_mode"] # Maps the enter key to open_below then re-enter normal mode
|
@ -1,4 +0,0 @@
|
||||
# Change dart format to 120 lines
|
||||
[[language]]
|
||||
name = "dart"
|
||||
formatter = {command = "dart", args = ["format", "-l", "120"]}
|
@ -259,7 +259,7 @@ command = "lua-language-server"
|
||||
# diagnostics.enable = true
|
||||
|
||||
[language.markdown]
|
||||
filetypes = ["md", "markdown"]
|
||||
filetype = ["md", "markdown"]
|
||||
roots = [".git", ".hg"]
|
||||
command = "vscode-markdown-language-server"
|
||||
args = ["--stdio"]
|
@ -28,9 +28,9 @@ set-option global startup_info_version 30000000
|
||||
set-option global tabstop 4
|
||||
set-option global indentwidth 4
|
||||
set-option global scrolloff 5,3
|
||||
declare-option str kakrc_path "~/system/nate/dotfiles/kak/kakrc"
|
||||
declare-option str sway_conf_path "~/system/nate/dotfiles/sway/config.d/default"
|
||||
declare-option str shell_config "~/system/nate/modules/home-manager/home.nix"
|
||||
declare-option str kakrc_path "~/.config/kak/kakrc"
|
||||
declare-option str sway_conf_path "~/.config/sway/config.d/default"
|
||||
declare-option str shell_config "~/.zshrc"
|
||||
|
||||
# plug "catppuccin/kakoune" theme config %{
|
||||
# colorscheme catppuccin_macchiato
|
||||
@ -56,20 +56,6 @@ hook global FocusOut .* %{ try %{
|
||||
hook global BufWritePost .* %{ evaluate-commands 'git update-diff' }
|
||||
hook global BufReload .* %{ evaluate-commands 'git update-diff' }
|
||||
|
||||
# Color Render in Echo Area
|
||||
hook global WinSetOption filetype=kak %{ hook global NormalIdle .* %{
|
||||
evaluate-commands -save-regs 'a' %{ try %{
|
||||
execute-keys -draft <a-i>w"ay
|
||||
evaluate-commands %sh{ (
|
||||
color="${kak_reg_a}"
|
||||
inverted_color=$(echo "${color}" | perl -pe 'tr/0123456789abcdefABCDEF/fedcba9876543210543210/')
|
||||
printf "%s\n" "evaluate-commands -client $kak_client %{ try %{
|
||||
echo -markup %{{rgb:${inverted_color},rgb:${color}+b} #${color} }
|
||||
}}" | kak -p $kak_session
|
||||
) >/dev/null 2>&1 </dev/null & }
|
||||
}}
|
||||
}}
|
||||
|
||||
# Add default,red and bold style to these regex matches
|
||||
add-highlighter global/ regex \b(TODO|FIXME|XXX|NOTE)\b 0:default,red+rb
|
||||
|
||||
@ -105,7 +91,6 @@ map global normal <c-S> <a-S> -docstring 'select first and last character of ea
|
||||
map global normal '<c-;>' '<a-;>' -docstring 'flip direction of each selection'
|
||||
map global normal <c-:> <a-:> -docstring 'ensure selections are in forward direction (cursor then anchor)'
|
||||
map global normal <c-,> <a-,> -docstring 'clear the main selection'
|
||||
map global normal <c-.> <a-.> -docstring 'Repeat last object or f/t selection'
|
||||
|
||||
# Scrolling remap
|
||||
map global normal <c-e> <pageup> -docstring 'Scroll screen up'
|
||||
@ -259,17 +244,9 @@ plug "alexherbo2/auto-pairs.kak" %{
|
||||
enable-auto-pairs
|
||||
}
|
||||
|
||||
|
||||
plug "https://github.com/h-youhei/kakoune-surround"
|
||||
|
||||
map global normal <c-m> ':surround<ret>'
|
||||
|
||||
# Custom scripts
|
||||
|
||||
# evaluate-commands %sh{
|
||||
# for file in ~/.config/kak/rc/*.kak; do
|
||||
# printf "source %s\n" $file
|
||||
# done
|
||||
# }
|
||||
|
||||
# source "~/.config/kak/rc/"
|
||||
source "~/.config/kak/rc/fzf_git.kak"
|
@ -1,3 +1,3 @@
|
||||
profile {
|
||||
output DP-2 position 0,0 mode 1920x1080@165.003006Hz
|
||||
output HDMI-A-1 position 0,0 mode 1920x1080@143.998001Hz
|
||||
}
|
||||
|
@ -4,7 +4,14 @@
|
||||
swww init >/dev/null 2>&1 &
|
||||
swww img ~/.config/labwc/backgrounds/cat1.jpg >/dev/null 2>&1 &
|
||||
|
||||
kanshi >/dev/null 2>&1 &
|
||||
# Configure output directives such as mode, position, scale and transform.
|
||||
# Use wlr-randr to get your output names
|
||||
# Example ~/.config/kanshi/config below:
|
||||
# profile {
|
||||
# output HDMI-A-1 position 1366,0
|
||||
# output eDP-1 position 0,0
|
||||
# }
|
||||
#kanshi >/dev/null 2>&1 &
|
||||
|
||||
# Launch a panel such as yambar or waybar.
|
||||
waybar >/dev/null 2>&1 &
|
||||
@ -16,6 +23,3 @@ mako >/dev/null 2>&1 &
|
||||
|
||||
# Setup network applet
|
||||
nm-applet --indicator >/dev/null 2>&1 &
|
||||
|
||||
|
||||
wl-paste --watch cliphist store &
|
||||
|
@ -44,14 +44,14 @@
|
||||
</menu>
|
||||
|
||||
<menu id="root-menu">
|
||||
<item label=" Web browser">
|
||||
<item label="Web browser">
|
||||
<action name="Execute" command="firefox" />
|
||||
</item>
|
||||
<item label=" Steam">
|
||||
<item label="Steam">
|
||||
<action name="Execute" command="steam" />
|
||||
</item>
|
||||
<item label=" Files">
|
||||
<action name="Execute" command="thunar" />
|
||||
<item label="Terminal">
|
||||
<action name="Execute" command="foot" />
|
||||
</item>
|
||||
<separator />
|
||||
<item label="Reconfigure">
|
||||
|
@ -170,15 +170,15 @@
|
||||
<action name="NextWindow" />
|
||||
</keybind>
|
||||
<keybind key="W-Return">
|
||||
<action name="Execute" command="foot" />
|
||||
<action name="Execute" command="kitty" />
|
||||
</keybind>
|
||||
<keybind key="W-j">
|
||||
<action name="Execute" command="firefox" />
|
||||
<keybind key="A-F3">
|
||||
<action name="Execute" command="" />
|
||||
</keybind>
|
||||
<keybind key="A-F4">
|
||||
<action name="Close" />
|
||||
</keybind>
|
||||
<keybind key="W-f">
|
||||
<keybind key="W-a">
|
||||
<action name="ToggleMaximize" />
|
||||
</keybind>
|
||||
<keybind key="A-Left">
|
||||
|
@ -1,13 +1,12 @@
|
||||
{
|
||||
"modules-left": [
|
||||
"custom/launcher",
|
||||
"wlr/taskbar"
|
||||
],
|
||||
"modules-center": [
|
||||
"clock",
|
||||
],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"idle_inhibitor",
|
||||
"pulseaudio",
|
||||
"custom/spotify",
|
||||
"network",
|
||||
@ -80,9 +79,4 @@
|
||||
"on-click": "spot",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/launcher": {
|
||||
"format": " ",
|
||||
"on-click": "nwg-drawer",
|
||||
"tooltip": false
|
||||
},
|
||||
}
|
||||
|
@ -7,51 +7,49 @@
|
||||
@define-color egg_shell #f8f1dd;
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: @egg_shell;
|
||||
font-family: "GohuFont 14 Nerd Font";
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: @egg_shell;
|
||||
font-family: "GohuFont 14 Nerd Font";
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
/* The whole bar */
|
||||
#waybar {
|
||||
background: transparent;
|
||||
background-color: transparent;
|
||||
background: transparent;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#taskbar {
|
||||
background: transparent;
|
||||
color: @egg_shell;
|
||||
background: transparent;
|
||||
color: @egg_shell;
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
color: transparent;
|
||||
border-bottom: 2px solid;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
color: transparent;
|
||||
border-bottom: 2px solid;
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
color: @celeste;
|
||||
color: @celeste;
|
||||
}
|
||||
|
||||
.modules-left,
|
||||
.modules-right,
|
||||
.modules-center {
|
||||
margin: 8px 8px 1px 8px;
|
||||
background: transparent;
|
||||
color: @egg_shell;
|
||||
background-color: @english_violet;
|
||||
border-radius: 25px;
|
||||
padding: 0px 10px 0px 10px;
|
||||
margin: 8px 8px 1px 8px;
|
||||
background: transparent;
|
||||
color: @egg_shell;
|
||||
background-color: @english_violet;
|
||||
border-radius: 25px;
|
||||
padding: 0px 10px 0px 10px;
|
||||
}
|
||||
|
||||
/* Every modules */
|
||||
#clock,
|
||||
#cpu,
|
||||
@ -60,8 +58,8 @@
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#taskbar {
|
||||
padding: 0.5rem 0.6rem;
|
||||
margin: 1px 0px;
|
||||
padding:0.5rem 0.6rem;
|
||||
margin: 1px 0px;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
@ -69,7 +67,7 @@
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
#clock {
|
||||
min-width: 140px;
|
||||
min-width: 140px;
|
||||
}
|
||||
|
||||
#cpu.warning,
|
||||
@ -77,24 +75,24 @@
|
||||
#memory.warning,
|
||||
#memory.critical,
|
||||
#network.disconnected {
|
||||
color: @indian_red;
|
||||
color: @indian_red;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
padding-top: 6px;
|
||||
padding-top:6px;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: @celeste;
|
||||
color: @celeste;
|
||||
}
|
||||
|
||||
#custom-spotify {
|
||||
color: @celadon;
|
||||
color: @celadon;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
margin-left: 15px;
|
||||
margin-right: 15px;
|
||||
font-size: 15px;
|
||||
color: @indian_red;
|
||||
}
|
||||
margin-left:15px;
|
||||
margin-right:15px;
|
||||
font-size:15px;
|
||||
color: @indian_red;
|
||||
}
|
||||
|
@ -28,13 +28,44 @@
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
helix
|
||||
|
||||
mangohud
|
||||
# nur.repos.crazazy.js.eslint
|
||||
# inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
|
||||
|
||||
#
|
||||
# Dev Tools
|
||||
#
|
||||
dbeaver
|
||||
cargo
|
||||
kakoune
|
||||
# flutter
|
||||
docker
|
||||
docker-compose
|
||||
python310
|
||||
nodejs_21
|
||||
zig
|
||||
### LSP's
|
||||
rnix-lsp # Nix LSP
|
||||
openscad-lsp
|
||||
nodePackages.typescript-language-server
|
||||
vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
|
||||
rubyPackages.solargraph
|
||||
python310Packages.python-lsp-server
|
||||
zls
|
||||
### Misc
|
||||
# android-udev-rules
|
||||
# android-tools
|
||||
# sdkmanager
|
||||
openscad
|
||||
|
||||
#
|
||||
# Gaming
|
||||
#
|
||||
wine-wayland
|
||||
webcord
|
||||
mumble
|
||||
|
||||
#
|
||||
# Better Unix
|
||||
#
|
||||
bat
|
||||
duf
|
||||
fd
|
||||
@ -43,27 +74,70 @@
|
||||
ripgrep
|
||||
tre-command
|
||||
gtop
|
||||
htop
|
||||
|
||||
#
|
||||
# Photo / Video
|
||||
#
|
||||
imv
|
||||
mpv
|
||||
gimp
|
||||
|
||||
#
|
||||
# Communication
|
||||
#
|
||||
mumble
|
||||
slack
|
||||
signal-desktop
|
||||
|
||||
#
|
||||
# Other
|
||||
#
|
||||
keepassxc
|
||||
obs-studio
|
||||
|
||||
# Install fonts
|
||||
(nerdfonts.override { fonts = [ "Hermit" "Gohu" ]; })
|
||||
# Style
|
||||
catppuccin-kvantum
|
||||
libsForQt5.qtstyleplugin-kvantum
|
||||
libsForQt5.qt5ct
|
||||
|
||||
# # You can also create simple shell scripts directly inside your
|
||||
# # configuration. For example, this adds a command 'my-hello' to your
|
||||
# # environment:
|
||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||
# echo "Hello, ${config.home.username}!"
|
||||
# '')
|
||||
];
|
||||
|
||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||
# plain files is through 'home.file'.
|
||||
home.file."${config.xdg.configHome}" = {
|
||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||
# # symlink to the Nix store copy.
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
source = ../../dotfiles;
|
||||
recursive = true;
|
||||
|
||||
# # You can also set the file content immediately.
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
};
|
||||
|
||||
|
||||
# Home Manager can also manage your environment variables through
|
||||
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
||||
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
||||
# either
|
||||
#
|
||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# /etc/profiles/per-user/nate/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
home.sessionVariables = {
|
||||
EDITOR = "hx";
|
||||
EDITOR = "kak";
|
||||
};
|
||||
|
||||
# Git setup
|
||||
@ -107,29 +181,24 @@
|
||||
#
|
||||
# Theming qt and gnome apps
|
||||
#
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "qtct";
|
||||
style.name = "kvantum";
|
||||
platformTheme = "gtk";
|
||||
style.name = "adwaita-dark";
|
||||
style.package = pkgs.adwaita-qt;
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
cursorTheme = {
|
||||
package = pkgs.catppuccin-cursors.latteLavender;
|
||||
name = "Catppuccin-Latte-Lavender-Cursors";
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.catppuccin-papirus-folders;
|
||||
name = "Papirus-Light";
|
||||
};
|
||||
theme = {
|
||||
name = "catppuccin-latte-lavender-compact+rimless";
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
accents = [ "lavender" ];
|
||||
size = "compact";
|
||||
tweaks = [ "rimless" ];
|
||||
variant = "latte";
|
||||
enable = true;
|
||||
cursorTheme.package = pkgs.catppuccin-cursors;
|
||||
cursorTheme.name = "latteFlamingo";
|
||||
theme = {
|
||||
name = "Catppuccin-Latte-Standard-Pink-Light";
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
accents = [ "pink" ];
|
||||
tweaks = [ ];
|
||||
variant = "latte";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -59,13 +59,13 @@
|
||||
bash
|
||||
foot
|
||||
git
|
||||
glib
|
||||
glib # gsettings
|
||||
grim
|
||||
sway-contrib.grimshot
|
||||
ghostscript
|
||||
labwc
|
||||
libnotify
|
||||
kanshi
|
||||
kanshi
|
||||
mako
|
||||
spot
|
||||
networkmanagerapplet
|
||||
@ -78,9 +78,9 @@
|
||||
swayidle
|
||||
swww
|
||||
wl-clipboard
|
||||
cliphist
|
||||
waybar
|
||||
wdisplays
|
||||
wlr-randr
|
||||
xdg-utils
|
||||
zsh
|
||||
]
|
||||
@ -90,6 +90,9 @@
|
||||
# ])
|
||||
];
|
||||
|
||||
# environment.loginShellInit = ''
|
||||
# [[ "$(tty)" == /dev/tty1 ]] && labwc
|
||||
# '';
|
||||
# Thunar config
|
||||
programs.thunar = {
|
||||
enable = true;
|
||||
@ -103,14 +106,15 @@
|
||||
|
||||
programs.zsh.enable = true;
|
||||
programs.steam.enable = config.labwc.installGaming;
|
||||
programs.gamemode.enable = true;
|
||||
|
||||
# kdeconnect setup
|
||||
programs.kdeconnect.enable = true;
|
||||
|
||||
###
|
||||
## Services
|
||||
###
|
||||
|
||||
# Printing
|
||||
services.flatpak.enable = true;
|
||||
services.printing.enable = true;
|
||||
services.printing.drivers = [ pkgs.brlaser ];
|
||||
|
||||
@ -125,13 +129,6 @@
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
###
|
||||
## Misc
|
||||
###
|
||||
# sound.enable = true;
|
||||
# Necessary for home-manager labwc setup
|
||||
security.polkit.enable = true;
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
@ -142,20 +139,16 @@
|
||||
default_session = initial_session;
|
||||
};
|
||||
};
|
||||
###
|
||||
## Misc
|
||||
###
|
||||
sound.enable = true;
|
||||
# Necessary for home-manager labwc setup
|
||||
security.polkit.enable = true;
|
||||
|
||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
# Enable HIP
|
||||
systemd.tmpfiles.rules = [
|
||||
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
||||
];
|
||||
hardware.graphics = {
|
||||
# Mesa
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
# Rocm support
|
||||
extraPackages = with pkgs; [
|
||||
rocmPackages.clr.icd
|
||||
];
|
||||
driSupport = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -12,7 +12,10 @@
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
boot.kernelParams = [
|
||||
# Fix for The Finals
|
||||
"clearcpuid=304"
|
||||
];
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "ext4";
|
||||
|
@ -1,3 +0,0 @@
|
||||
- Need a way to access files
|
||||
- Remove boot logs and grub menu
|
||||
- Cant open steam and then open a web browser
|
@ -1,120 +0,0 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking = {
|
||||
hostId = "09e1d908";
|
||||
hostName = "luci"; # Define your hostname.
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Denver";
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Select internationalisation properties.
|
||||
# i18n.defaultLocale = "en_US.UTF-8";
|
||||
# console = {
|
||||
# font = "Lat2-Terminus16";
|
||||
# keyMap = "us";
|
||||
# useXkbConfig = true; # use xkb.options in tty.
|
||||
# };
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# services.xserver.enable = true;
|
||||
# Configure keymap in X11
|
||||
# services.xserver.xkb.layout = "us";
|
||||
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
# services.printing.enable = true;
|
||||
|
||||
# Enable sound.
|
||||
# sound.enable = true;
|
||||
# hardware.pulseaudio.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.luci = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
tree
|
||||
git
|
||||
curl
|
||||
nano
|
||||
neofetch
|
||||
];
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
# wget
|
||||
# ];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# Copy the NixOS configuration file and link it from the resulting system
|
||||
# (/run/current-system/configuration.nix). This is useful in case you
|
||||
# accidentally delete configuration.nix.
|
||||
# system.copySystemConfiguration = true;
|
||||
|
||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||
#
|
||||
# Most users should NEVER change this value after the initial install, for any reason,
|
||||
# even if you've upgraded your system to a new NixOS release.
|
||||
#
|
||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
||||
# so changing it will NOT upgrade your system.
|
||||
#
|
||||
# This value being lower than the current NixOS release does NOT mean your system is
|
||||
# out of date, out of support, or vulnerable.
|
||||
#
|
||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||
# and migrated your data accordingly.
|
||||
#
|
||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||
system.stateVersion = "23.11"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
@ -1,36 +0,0 @@
|
||||
{ ... }:
|
||||
let
|
||||
userName = "luci";
|
||||
email = "luci@fosscat.com";
|
||||
hostName = "luci";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./nixos/hardware-configuration.nix
|
||||
../shared/nix-gc.nix
|
||||
../shared/server-configuration.nix
|
||||
];
|
||||
|
||||
serverConfig = {
|
||||
userName = userName;
|
||||
hostName = hostName;
|
||||
hostId = "09e1d908";
|
||||
email = email;
|
||||
sshEnable = true;
|
||||
nfsEnable = true;
|
||||
nfsRoot = "/nfs_export";
|
||||
nfsExports = [ "/kage" ];
|
||||
nfsIpExport = "192.168.1.1/24";
|
||||
syncthingEnable = true;
|
||||
caldavEnable = true;
|
||||
};
|
||||
|
||||
# deskCfg = {
|
||||
# userName = userName;
|
||||
# hostName = hostName;
|
||||
# de = desktop;
|
||||
# installGaming = gaming;
|
||||
# };
|
||||
|
||||
nixGc.enable = true;
|
||||
}
|
@ -1,166 +0,0 @@
|
||||
# Theme
|
||||
theme = "catppuccin_macchiato"
|
||||
|
||||
[keys.normal]
|
||||
|
||||
# Navigation
|
||||
n = "move_char_left" # Maps the 'a' key to the move_char_left command
|
||||
i = "move_visual_line_down"
|
||||
e = "move_visual_line_up"
|
||||
o = "move_char_right"
|
||||
|
||||
I = "page_down"
|
||||
E = "page_up"
|
||||
|
||||
# Modes
|
||||
h = "insert_mode"
|
||||
H = "insert_at_line_start"
|
||||
l = "open_below"
|
||||
L = "open_above"
|
||||
|
||||
# Search
|
||||
k = "search_next"
|
||||
K = "search_prev"
|
||||
|
||||
# Selection
|
||||
C-s = "split_selection_on_newline"
|
||||
C-minus = "merge_selections"
|
||||
C-_ = "merge_consecutive_selections"
|
||||
"C-;" = "flip_selections"
|
||||
"C-:" = "ensure_selections_forward"
|
||||
"C-," = "remove_primary_selection"
|
||||
C-c = "change_selection_noyank"
|
||||
C-d = "delete_selection_noyank"
|
||||
"C-(" = "rotate_selection_contents_backward"
|
||||
"C-)" = "rotate_selection_contents_forward"
|
||||
C-x = "shrink_to_line_bounds"
|
||||
C-J = "join_selections_space"
|
||||
C-K = "remove_selections"
|
||||
C-o = "expand_selection"
|
||||
C-i = "shrink_selection"
|
||||
C-p = "select_prev_sibling"
|
||||
C-n = "select_next_sibling"
|
||||
|
||||
# Misc
|
||||
"C-/" = "toggle_comments"
|
||||
|
||||
[keys.normal."C-space"]
|
||||
x = ":wbc!"
|
||||
s = ":w!" # save file
|
||||
o = ":config-open"
|
||||
|
||||
[keys.normal.g]
|
||||
"/" = "goto_next_buffer"
|
||||
h = "goto_previous_buffer"
|
||||
n = ["collapse_selection", "extend_to_line_start"]
|
||||
o = ["collapse_selection", "extend_to_line_end"]
|
||||
e = "move_line_up"
|
||||
i = "move_line_down"
|
||||
l = "goto_last_line"
|
||||
|
||||
p = "no_op"
|
||||
k = "no_op"
|
||||
j = "no_op"
|
||||
|
||||
[keys.normal.m]
|
||||
m = ["select_mode", "match_brackets", "normal_mode"]
|
||||
|
||||
[keys.select]
|
||||
n = "extend_char_left"
|
||||
i = "extend_line_down"
|
||||
e = "extend_line_up"
|
||||
o = "extend_char_right"
|
||||
|
||||
[keys.select.g]
|
||||
"/" = "goto_next_buffer"
|
||||
h = "goto_previous_buffer"
|
||||
n = "goto_line_start"
|
||||
o = "goto_line_end"
|
||||
e = "move_line_up"
|
||||
i = "move_line_down"
|
||||
l = "goto_last_line"
|
||||
|
||||
p = "no_op"
|
||||
k = "no_op"
|
||||
j = "no_op"
|
||||
|
||||
# Window mode
|
||||
[keys.normal."C-w"]
|
||||
h = "hsplit"
|
||||
C-h = "hsplit"
|
||||
n = "jump_view_left"
|
||||
C-n = "jump_view_left"
|
||||
i = "jump_view_down"
|
||||
I = "swap_view_down"
|
||||
C-i = "jump_view_down"
|
||||
e = "jump_view_up"
|
||||
E = "swap_view_up"
|
||||
C-e = "jump_view_up"
|
||||
o = "jump_view_right"
|
||||
O = "swap_view_right"
|
||||
C-o = "jump_view_right"
|
||||
|
||||
# Remove old
|
||||
s = "no_op"
|
||||
C-s = "no_op"
|
||||
H = "no_op"
|
||||
j = "no_op"
|
||||
J = "no_op"
|
||||
C-j = "no_op"
|
||||
k = "no_op"
|
||||
K = "no_op"
|
||||
C-k = "no_op"
|
||||
l = "no_op"
|
||||
L = "no_op"
|
||||
C-l = "no_op"
|
||||
|
||||
[keys.normal."space"]
|
||||
h = "hover"
|
||||
k = "select_references_to_symbol_under_cursor"
|
||||
|
||||
[editor]
|
||||
bufferline = "multiple"
|
||||
auto-save = true
|
||||
line-number = "relative"
|
||||
cursorline = true
|
||||
color-modes = true
|
||||
text-width = 120
|
||||
auto-format = true
|
||||
|
||||
[editor.statusline]
|
||||
left = ["mode", "spinner", "version-control", "file-name"]
|
||||
mode.normal = "Normal"
|
||||
mode.insert = "Insert"
|
||||
mode.select = "Select"
|
||||
|
||||
[editor.indent-guides]
|
||||
render = true
|
||||
|
||||
[editor.lsp]
|
||||
display-messages = true
|
||||
|
||||
[editor.cursor-shape]
|
||||
insert = "bar"
|
||||
normal = "block"
|
||||
select = "underline"
|
||||
|
||||
[editor.file-picker]
|
||||
hidden = false
|
||||
|
||||
[editor.whitespace.render]
|
||||
space = "all"
|
||||
tab = "all"
|
||||
tabpad = "all"
|
||||
newline = "none"
|
||||
nbsp = "none"
|
||||
|
||||
[editor.whitespace.characters]
|
||||
space = "·"
|
||||
tab = "⇀"
|
||||
tabpad = " "
|
||||
|
||||
|
||||
#w = "move_line_up" # Maps the 'w' key move_line_up
|
||||
#"C-S-esc" = "extend_line" # Maps Ctrl-Shift-Escape to extend_line
|
||||
#g = { a = "code_action" } # Maps `ga` to show possible code actions
|
||||
#"ret" = ["open_below", "normal_mode"] # Maps the enter key to open_below then re-enter normal mode
|
@ -1,22 +0,0 @@
|
||||
# [language-server.flutter-lsp]
|
||||
# command = "dart language-server --client-id helix --client-version 1.0"
|
||||
|
||||
# [[language]]
|
||||
# name = "typescript"
|
||||
# auto-format = true
|
||||
# formatter = { command = "eslint", args = ["--parser", "typescript"] }# [[language]]
|
||||
|
||||
# name = "typescript"
|
||||
# language-servers = [ { name = "eslint", only-features = [ "format" ] }, "typescript-language-server" ]
|
||||
|
||||
[[language]]
|
||||
name = "dart"
|
||||
formatter = {command = "dart", args = ["format", "-l", "120"]}
|
||||
# [[language]]
|
||||
# name = "dart"
|
||||
# formatter = { command = "format", args = [ "-l", "120"] }
|
||||
# config = { lineLength = 120 }
|
||||
# config = { dartls.settings.dart.lineLength = 120 }
|
||||
# config = { dart = { lineLength = 120 } }
|
||||
# config = { settings = { dart = { lineLength = 120 } } }
|
||||
# config = { dartls = { settings = { dart = { lineLength = 120 } } } }
|
@ -1,93 +0,0 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
let
|
||||
userName = "luci";
|
||||
fullName = "Luci NAS";
|
||||
email = "luci@fosscat.com";
|
||||
in
|
||||
{
|
||||
home.username = userName;
|
||||
home.homeDirectory = "/home/${userName}";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
helix
|
||||
jq
|
||||
|
||||
#
|
||||
# Better Unix
|
||||
#
|
||||
bat
|
||||
duf
|
||||
fd
|
||||
fzf
|
||||
lsd
|
||||
ripgrep
|
||||
tre-command
|
||||
gtop
|
||||
htop
|
||||
neofetch
|
||||
|
||||
# Normies
|
||||
unzip
|
||||
|
||||
imv
|
||||
mpv
|
||||
ffmpeg
|
||||
];
|
||||
|
||||
home.file."${config.xdg.configHome}" = {
|
||||
source = ../../dotfiles;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
# Copy radicale pass file
|
||||
home.file."${config.xdg.configHome}/radicale" = {
|
||||
source = ../radicale;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "hx";
|
||||
};
|
||||
|
||||
# Git setup
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = email;
|
||||
userName = fullName;
|
||||
};
|
||||
|
||||
programs = {
|
||||
direnv = {
|
||||
enable = true;
|
||||
enableZshIntegration = true; # see note on other shells below
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
bash.enable = true; # see note on other shells below
|
||||
};
|
||||
|
||||
# Zsh setup
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" ];
|
||||
theme = "dieter";
|
||||
};
|
||||
initExtra = ''
|
||||
eval "$(direnv hook zsh)"
|
||||
|
||||
alias ls="lsd"
|
||||
alias l="lsd --almost-all --long"
|
||||
alias llm="lsd --timesort --long"
|
||||
alias lS="lsd --oneline --classic"
|
||||
alias lt="lsd --tree --depth=2"
|
||||
alias grep="rg"
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
@ -1 +0,0 @@
|
||||
n8r:$apr1$HpSAv/EE$pCDM0qP2JJIY0B5aUXjS30
|
@ -1,55 +0,0 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ "zfs" ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.supportedFilesystems = [ "zfs" ];
|
||||
|
||||
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
|
||||
|
||||
boot.zfs.forceImportRoot = false;
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-label/NIXBOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/nfs_export/kage" =
|
||||
{ device = "zdata/kage";
|
||||
fsType = "zfs";
|
||||
};
|
||||
|
||||
# change ownership of kage to be open
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /nfs_export/kage 0777 kage users - -"
|
||||
];
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp6s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
{ config, lib, inputs, outputs, pkgs, system, timeZone, ... }:
|
||||
let
|
||||
userName = "nate";
|
||||
fullName = "Nate Anderson";
|
||||
email = "nate.anderson@vasion.com";
|
||||
hostName = "nate-vasion";
|
||||
desktop = "sway";
|
||||
gaming = true;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./desktop-configuration.nix
|
||||
./nixos/hardware-configuration.nix
|
||||
];
|
||||
|
||||
deskCfg = {
|
||||
userName = userName;
|
||||
hostName = hostName;
|
||||
de = desktop;
|
||||
installGaming = gaming;
|
||||
};
|
||||
|
||||
# Limit the number of generations to keep
|
||||
boot.loader.systemd-boot.configurationLimit = 5;
|
||||
|
||||
# Perform garbage collection weekly to maintain low disk usage
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 14d";
|
||||
};
|
||||
|
||||
### TODO add these to security.nix file
|
||||
# Auto Update System
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
flake = inputs.self.outPath;
|
||||
flags = [
|
||||
"--update-input"
|
||||
"nixpkgs"
|
||||
"nixpkgs-unstable"
|
||||
"-L" # print build logs
|
||||
];
|
||||
dates = "05:00";
|
||||
randomizedDelaySec = "45min";
|
||||
};
|
||||
|
||||
services.clamav.daemon.enable = true;
|
||||
services.clamav.scanner.enable = true;
|
||||
|
||||
nix.settings.auto-optimise-store = true;
|
||||
}
|
@ -1,91 +0,0 @@
|
||||
{ config, lib, inputs, outputs, pkgs, timeZone, system, ... }:
|
||||
let
|
||||
supportedDesktops = [ "sway" "hyprland" ];
|
||||
supportedDesktopsStr = lib.strings.concatStringsSep ", " supportedDesktops;
|
||||
deskCfg = config.deskCfg;
|
||||
in
|
||||
{
|
||||
options.deskCfg = {
|
||||
de = lib.mkOption {
|
||||
default = "sway";
|
||||
type = lib.types.str;
|
||||
description = "Desktop Environment";
|
||||
};
|
||||
userName = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Main username for system";
|
||||
};
|
||||
hostName = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Hostname for system";
|
||||
};
|
||||
installGaming = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Whether to install gaming software or not";
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
modules/user/main_user.nix
|
||||
modules/sway/sway_conf.nix
|
||||
modules/hypr/hyprland.nix
|
||||
|
||||
# inputs.nur.hmModules.nur
|
||||
];
|
||||
|
||||
config = {
|
||||
assertions = [
|
||||
{
|
||||
assertion = builtins.elem deskCfg.de supportedDesktops;
|
||||
message = "Unsupported desktop environment: ${deskCfg.de}\nSupported DE's: ${supportedDesktopsStr}";
|
||||
}
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
inputs.nur.overlays.default
|
||||
];
|
||||
|
||||
|
||||
# Enable flakes feature
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command" "flakes"
|
||||
];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
# boot.plymouth.enable = true;
|
||||
|
||||
networking.hostName = deskCfg.hostName; # Define your hostname.
|
||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||
|
||||
time.timeZone = timeZone;
|
||||
|
||||
main_user = {
|
||||
enable = true;
|
||||
userName = deskCfg.userName;
|
||||
isDesktopUser = true;
|
||||
};
|
||||
|
||||
swaywm = {
|
||||
enable = false;
|
||||
useNonFree = true;
|
||||
installGaming = deskCfg.installGaming;
|
||||
systemPackages = with pkgs; [
|
||||
libreoffice
|
||||
];
|
||||
};
|
||||
|
||||
hypr = {
|
||||
enable = true;
|
||||
user = deskCfg.userName;
|
||||
systemPackages = with pkgs; [
|
||||
libreoffice
|
||||
];
|
||||
};
|
||||
|
||||
system.stateVersion = "23.11"; # Did you read the comment?
|
||||
};
|
||||
}
|
||||
|
@ -1,2 +0,0 @@
|
||||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform=wayland
|
@ -1,2 +0,0 @@
|
||||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform=wayland
|
@ -1,2 +0,0 @@
|
||||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform=wayland
|
@ -1,45 +0,0 @@
|
||||
[main]
|
||||
font=Hurmit Nerd Font Mono:size=12
|
||||
|
||||
selection-target=clipboard
|
||||
|
||||
[colors]
|
||||
# Catpuccin Machiatto theme
|
||||
foreground=cad3f5 # Text
|
||||
background=24273a # Base
|
||||
regular0=494d64 # Surface 1
|
||||
regular1=ed8796 # red
|
||||
regular2=a6da95 # green
|
||||
regular3=eed49f # yellow
|
||||
regular4=8aadf4 # blue
|
||||
regular5=f5bde6 # pink
|
||||
regular6=8bd5ca # teal
|
||||
regular7=b8c0e0 # Subtext 1
|
||||
bright0=5b6078 # Surface 2
|
||||
bright1=ed8796 # red
|
||||
bright2=a6da95 # green
|
||||
bright3=eed49f # yellow
|
||||
bright4=8aadf4 # blue
|
||||
bright5=f5bde6 # pink
|
||||
bright6=8bd5ca # teal
|
||||
bright7=a5adcb # Subtext 0foreground=cdd6f4 # Text
|
||||
|
||||
# [colors]
|
||||
# Catpuccin Mocha theme colors
|
||||
# background=1e1e2e # Base
|
||||
# regular0=45475a # Surface 1
|
||||
# regular1=f38ba8 # red
|
||||
# regular2=a6e3a1 # green
|
||||
# regular3=f9e2af # yellow
|
||||
# regular4=89b4fa # blue
|
||||
# regular5=f5c2e7 # pink
|
||||
# regular6=94e2d5 # teal
|
||||
# regular7=bac2de # Subtext 1
|
||||
# bright0=585b70 # Surface 2
|
||||
# bright1=f38ba8 # red
|
||||
# bright2=a6e3a1 # green
|
||||
# bright3=f9e2af # yellow
|
||||
# bright4=89b4fa # blue
|
||||
# bright5=f5c2e7 # pink
|
||||
# bright6=94e2d5 # teal
|
||||
# bright7=a6adc8 # Subtext 0
|
@ -1,46 +0,0 @@
|
||||
theme = "catppuccin-macchiato"
|
||||
|
||||
###
|
||||
# Font config
|
||||
###
|
||||
|
||||
font-size = 14
|
||||
font-family = "Monaspace Xenon Var"
|
||||
font-family-bold = "Monaspace Argon Var"
|
||||
font-family-italic = "Monaspace Radon Var"
|
||||
font-family-bold-italic = "Monaspace Krypton Var"
|
||||
|
||||
font-variation = wght=400
|
||||
font-variation = wdth=100
|
||||
font-variation = slnt=-2
|
||||
|
||||
font-variation-bold = wght=600
|
||||
font-variation-bold = wdth=100
|
||||
|
||||
font-variation-italic = wght=400
|
||||
font-variation-italic = wdth=100
|
||||
font-variation-italic = slnt=-10
|
||||
|
||||
font-variation-bold-italic = wght=700
|
||||
font-variation-bold-italic = wdth=100
|
||||
font-variation-bold-italic = slnt=-3
|
||||
|
||||
font-feature = +ss01, +ss02, +ss03, +ss04, +ss05, +ss06, +ss07, +ss08, +ss09, +ss10
|
||||
# Enables texture healing
|
||||
font-feature = +calt
|
||||
font-feature = +liga
|
||||
|
||||
###
|
||||
# Keybinds
|
||||
###
|
||||
|
||||
keybind = ctrl+shift+plus=increase_font_size:1
|
||||
# keybind = ctrl+minus=decrease_font_size:1
|
||||
|
||||
###
|
||||
# Misc
|
||||
###
|
||||
|
||||
window-padding-x = 4
|
||||
window-padding-y = 4
|
||||
copy-on-select=clipboard
|
@ -1,170 +0,0 @@
|
||||
# Theme
|
||||
theme = "catppuccin_macchiato"
|
||||
|
||||
[keys.normal]
|
||||
|
||||
# Navigation
|
||||
n = "move_char_left" # Maps the 'a' key to the move_char_left command
|
||||
i = "move_visual_line_down"
|
||||
e = "move_visual_line_up"
|
||||
o = "move_char_right"
|
||||
|
||||
I = "page_down"
|
||||
E = "page_up"
|
||||
|
||||
# Modes
|
||||
h = "insert_mode"
|
||||
H = "insert_at_line_start"
|
||||
l = "open_below"
|
||||
L = "open_above"
|
||||
|
||||
# Search
|
||||
k = "search_next"
|
||||
K = "search_prev"
|
||||
|
||||
# Selection
|
||||
C-s = "split_selection_on_newline"
|
||||
C-minus = "merge_selections"
|
||||
C-_ = "merge_consecutive_selections"
|
||||
"C-;" = "flip_selections"
|
||||
"C-:" = "ensure_selections_forward"
|
||||
"C-," = "remove_primary_selection"
|
||||
C-c = "change_selection_noyank"
|
||||
C-d = "delete_selection_noyank"
|
||||
"C-(" = "rotate_selection_contents_backward"
|
||||
"C-)" = "rotate_selection_contents_forward"
|
||||
C-x = "shrink_to_line_bounds"
|
||||
C-J = "join_selections_space"
|
||||
C-K = "remove_selections"
|
||||
C-o = "expand_selection"
|
||||
C-i = "shrink_selection"
|
||||
C-p = "select_prev_sibling"
|
||||
C-n = "select_next_sibling"
|
||||
|
||||
# Misc
|
||||
"C-/" = "toggle_comments"
|
||||
|
||||
[keys.normal."C-space"]
|
||||
x = ":wbc!"
|
||||
s = ":w!" # save file
|
||||
o = ":config-open"
|
||||
c = ["vsplit", ":open llm-chat.md"]
|
||||
|
||||
[keys.normal.g]
|
||||
"/" = "goto_next_buffer"
|
||||
h = "goto_previous_buffer"
|
||||
n = ["collapse_selection", "extend_to_line_start"]
|
||||
o = ["collapse_selection", "extend_to_line_end"]
|
||||
e = "move_line_up"
|
||||
i = "move_line_down"
|
||||
l = "goto_last_line"
|
||||
|
||||
p = "no_op"
|
||||
k = "no_op"
|
||||
j = "no_op"
|
||||
|
||||
[keys.normal.m]
|
||||
m = ["select_mode", "match_brackets", "normal_mode"]
|
||||
|
||||
[keys.select]
|
||||
n = "extend_char_left"
|
||||
i = "extend_line_down"
|
||||
e = "extend_line_up"
|
||||
o = "extend_char_right"
|
||||
|
||||
[keys.select.g]
|
||||
"/" = "goto_next_buffer"
|
||||
h = "goto_previous_buffer"
|
||||
n = "goto_line_start"
|
||||
o = "goto_line_end"
|
||||
e = "move_line_up"
|
||||
i = "move_line_down"
|
||||
l = "goto_last_line"
|
||||
|
||||
p = "no_op"
|
||||
k = "no_op"
|
||||
j = "no_op"
|
||||
|
||||
# Window mode
|
||||
[keys.normal."C-w"]
|
||||
h = "hsplit"
|
||||
C-h = "hsplit"
|
||||
n = "jump_view_left"
|
||||
C-n = "jump_view_left"
|
||||
i = "jump_view_down"
|
||||
I = "swap_view_down"
|
||||
C-i = "jump_view_down"
|
||||
e = "jump_view_up"
|
||||
E = "swap_view_up"
|
||||
C-e = "jump_view_up"
|
||||
o = "jump_view_right"
|
||||
O = "swap_view_right"
|
||||
C-o = "jump_view_right"
|
||||
|
||||
# Remove old
|
||||
s = "no_op"
|
||||
C-s = "no_op"
|
||||
H = "no_op"
|
||||
j = "no_op"
|
||||
J = "no_op"
|
||||
C-j = "no_op"
|
||||
k = "no_op"
|
||||
K = "no_op"
|
||||
C-k = "no_op"
|
||||
l = "no_op"
|
||||
L = "no_op"
|
||||
C-l = "no_op"
|
||||
|
||||
[keys.normal."space"]
|
||||
h = "hover"
|
||||
k = "select_references_to_symbol_under_cursor"
|
||||
|
||||
[editor]
|
||||
bufferline = "always"
|
||||
auto-save = true
|
||||
line-number = "relative"
|
||||
cursorline = true
|
||||
cursorcolumn = true
|
||||
color-modes = true
|
||||
text-width = 120
|
||||
auto-format = true
|
||||
|
||||
[editor.statusline]
|
||||
left = ["mode", "spinner", "version-control"]
|
||||
center = ["file-name"]
|
||||
mode.normal = "Normal"
|
||||
mode.insert = "Insert"
|
||||
mode.select = "Select"
|
||||
|
||||
[editor.indent-guides]
|
||||
render = true
|
||||
|
||||
[editor.lsp]
|
||||
display-messages = true
|
||||
display-inlay-hints = false
|
||||
|
||||
[editor.cursor-shape]
|
||||
insert = "bar"
|
||||
normal = "block"
|
||||
select = "underline"
|
||||
|
||||
[editor.file-picker]
|
||||
hidden = false
|
||||
|
||||
[editor.whitespace.render]
|
||||
space = "all"
|
||||
tab = "all"
|
||||
tabpad = "all"
|
||||
newline = "none"
|
||||
nbsp = "none"
|
||||
|
||||
[editor.whitespace.characters]
|
||||
space = "·"
|
||||
tab = "⇀"
|
||||
tabpad = " "
|
||||
|
||||
|
||||
#w = "move_line_up" # Maps the 'w' key move_line_up
|
||||
#"C-S-esc" = "extend_line" # Maps Ctrl-Shift-Escape to extend_line
|
||||
#g = { a = "code_action" } # Maps `ga` to show possible code actions
|
||||
#"ret" = ["open_below", "normal_mode"] # Maps the enter key to open_below then re-enter normal mode
|
@ -1,112 +0,0 @@
|
||||
###
|
||||
### Configuration for LSP-AI
|
||||
###
|
||||
### Link here:
|
||||
### https://github.com/SilasMarvin/lsp-ai
|
||||
###
|
||||
|
||||
[language-server.lsp-ai]
|
||||
command = "lsp-ai"
|
||||
|
||||
[language-server.lsp-ai.config.memory]
|
||||
file_store = { }
|
||||
|
||||
[language-server.lsp-ai.config.models.sonnet]
|
||||
type = "anthropic"
|
||||
chat_endpoint = "https://api.anthropic.com/v1/messages"
|
||||
model = "claude-3-5-sonnet-20241022"
|
||||
auth_token_env_var_name = "ANTHROPIC_API_KEY"
|
||||
|
||||
[language-server.lsp-ai.config.models.haiku]
|
||||
type = "anthropic"
|
||||
chat_endpoint = "https://api.anthropic.com/v1/messages"
|
||||
model = "claude-3-5-haiku-20241022"
|
||||
auth_token_env_var_name = "ANTHROPIC_API_KEY"
|
||||
|
||||
[[language-server.lsp-ai.config.chat]]
|
||||
trigger = "!C"
|
||||
action_display_name = "Chat (Sonnet )"
|
||||
model = "sonnet"
|
||||
parameters = { max_context = 4096, max_tokens = 4096, system = "You are a code assistant chatbot. The user will ask you for assistance coding and you will do you best to answer succinctly and accurately" }
|
||||
|
||||
[[language-server.lsp-ai.config.chat]]
|
||||
trigger = "!C"
|
||||
action_display_name = "Chat (Haiku )"
|
||||
model = "haiku"
|
||||
parameters = { max_context = 4096, max_tokens = 4096, system = "You are a code assistant chatbot. The user will ask you for assistance coding and you will do you best to answer succinctly and accurately" }
|
||||
|
||||
[[language-server.lsp-ai.config.actions]]
|
||||
action_display_name = "Complete (Sonnet )"
|
||||
model = "sonnet"
|
||||
parameters = { max_context = 4096, max_tokens = 4096, messages = [{ role = "user", content = "{CODE}" }], system = "You are an AI coding assistant. Your task is to complete code snippets. The user's cursor position is marked by \"<CURSOR>\". Follow these steps:\n\n1. Analyze the code context and the cursor position.\n2. Provide your chain of thought reasoning, wrapped in <reasoning> tags. Include thoughts about the cursor position, what needs to be completed, and any necessary formatting.\n3. Determine the appropriate code to complete the current thought, including finishing partial words or lines.\n4. Replace \"<CURSOR>\" with the necessary code, ensuring proper formatting and line breaks.\n5. Wrap your code solution in <answer> tags.\n\nYour response should always include both the reasoning and the answer. Pay special attention to completing partial words or lines before adding new lines of code.\n\n<examples>\n<example>\nUser input:\n--main.py--\n# A function that reads in user inpu<CURSOR>\n\nResponse:\n<reasoning>\n1. The cursor is positioned after \"inpu\" in a comment describing a function that reads user input.\n2. We need to complete the word \"input\" in the comment first.\n3. After completing the comment, we should add a new line before defining the function.\n4. The function should use Python's built-in `input()` function to read user input.\n5. We'll name the function descriptively and include a return statement.\n</reasoning>\n\n<answer>t\ndef read_user_input():\n user_input = input(\"Enter your input: \")\n return user_input\n</answer>\n</example>\n\n<example>\nUser input:\n--main.py--\ndef fibonacci(n):\n if n <= 1:\n return n\n else:\n re<CURSOR>\n\n\nResponse:\n<reasoning>\n1. The cursor is positioned after \"re\" in the 'else' clause of a recursive Fibonacci function.\n2. We need to complete the return statement for the recursive case.\n3. The \"re\" already present likely stands for \"return\", so we'll continue from there.\n4. The Fibonacci sequence is the sum of the two preceding numbers.\n5. We should return the sum of fibonacci(n-1) and fibonacci(n-2).\n</reasoning>\n\n<answer>turn fibonacci(n-1) + fibonacci(n-2)</answer>\n</example>\n</examples>"}
|
||||
post_process = { extractor = "(?s)<answer>(.*?)</answer>" }
|
||||
|
||||
|
||||
[[language-server.lsp-ai.config.actions]]
|
||||
action_display_name = "Complete (Haiku )"
|
||||
model = "haiku"
|
||||
parameters = { max_context = 4096, max_tokens = 4096, messages = [{ role = "user", content = "{CODE}" }], system = "You are an AI coding assistant. Your task is to complete code snippets. The user's cursor position is marked by \"<CURSOR>\". Follow these steps:\n\n1. Analyze the code context and the cursor position.\n2. Provide your chain of thought reasoning, wrapped in <reasoning> tags. Include thoughts about the cursor position, what needs to be completed, and any necessary formatting.\n3. Determine the appropriate code to complete the current thought, including finishing partial words or lines.\n4. Replace \"<CURSOR>\" with the necessary code, ensuring proper formatting and line breaks.\n5. Wrap your code solution in <answer> tags.\n\nYour response should always include both the reasoning and the answer. Pay special attention to completing partial words or lines before adding new lines of code.\n\n<examples>\n<example>\nUser input:\n--main.py--\n# A function that reads in user inpu<CURSOR>\n\nResponse:\n<reasoning>\n1. The cursor is positioned after \"inpu\" in a comment describing a function that reads user input.\n2. We need to complete the word \"input\" in the comment first.\n3. After completing the comment, we should add a new line before defining the function.\n4. The function should use Python's built-in `input()` function to read user input.\n5. We'll name the function descriptively and include a return statement.\n</reasoning>\n\n<answer>t\ndef read_user_input():\n user_input = input(\"Enter your input: \")\n return user_input\n</answer>\n</example>\n\n<example>\nUser input:\n--main.py--\ndef fibonacci(n):\n if n <= 1:\n return n\n else:\n re<CURSOR>\n\n\nResponse:\n<reasoning>\n1. The cursor is positioned after \"re\" in the 'else' clause of a recursive Fibonacci function.\n2. We need to complete the return statement for the recursive case.\n3. The \"re\" already present likely stands for \"return\", so we'll continue from there.\n4. The Fibonacci sequence is the sum of the two preceding numbers.\n5. We should return the sum of fibonacci(n-1) and fibonacci(n-2).\n</reasoning>\n\n<answer>turn fibonacci(n-1) + fibonacci(n-2)</answer>\n</example>\n</examples>"}
|
||||
post_process = { extractor = "(?s)<answer>(.*?)</answer>" }
|
||||
|
||||
[[language-server.lsp-ai.config.actions]]
|
||||
action_display_name = "Refactor (Sonnet )"
|
||||
model = "sonnet"
|
||||
parameters = { max_context = 4096, max_tokens = 4096, messages = [{ role = "user", content = "{SELECTED_TEXT}" }], system = "You are an AI coding assistant specializing in code refactoring. Your task is to analyze the given code snippet and provide a refactored version. Follow these steps:\n\n1. Analyze the code context and structure.\n2. Identify areas for improvement, such as code efficiency, readability, or adherence to best practices.\n3. Provide your chain of thought reasoning, wrapped in <reasoning> tags. Include your analysis of the current code and explain your refactoring decisions.\n4. Rewrite the entire code snippet with your refactoring applied.\n5. Wrap your refactored code solution in <answer> tags.\n\nYour response should always include both the reasoning and the refactored code.\n\n<examples>\n<example>\nUser input:\ndef calculate_total(items):\n total = 0\n for item in items:\n total = total + item['price'] * item['quantity']\n return total\n\n\nResponse:\n<reasoning>\n1. The function calculates the total cost of items based on price and quantity.\n2. We can improve readability and efficiency by:\n a. Using a more descriptive variable name for the total.\n b. Utilizing the sum() function with a generator expression.\n c. Using augmented assignment (+=) if we keep the for loop.\n3. We'll implement the sum() function approach for conciseness.\n4. We'll add a type hint for better code documentation.\n</reasoning>\n<answer>\nfrom typing import List, Dict\n\ndef calculate_total(items: List[Dict[str, float]]) -> float:\n return sum(item['price'] * item['quantity'] for item in items)\n</answer>\n</example>\n\n<example>\nUser input:\ndef is_prime(n):\n if n < 2:\n return False\n for i in range(2, n):\n if n % i == 0:\n return False\n return True\n\n\nResponse:\n<reasoning>\n1. This function checks if a number is prime, but it's not efficient for large numbers.\n2. We can improve it by:\n a. Adding an early return for 2, the only even prime number.\n b. Checking only odd numbers up to the square root of n.\n c. Using a more efficient range (start at 3, step by 2).\n3. We'll also add a type hint for better documentation.\n4. The refactored version will be more efficient for larger numbers.\n</reasoning>\n<answer>\nimport math\n\ndef is_prime(n: int) -> bool:\n if n < 2:\n return False\n if n == 2:\n return True\n if n % 2 == 0:\n return False\n \n for i in range(3, int(math.sqrt(n)) + 1, 2):\n if n % i == 0:\n return False\n return True\n</answer>\n</example>\n</examples>" }
|
||||
post_process = { extractor = "(?s)<answer>(.*?)</answer>" }
|
||||
|
||||
[[language-server.lsp-ai.config.actions]]
|
||||
action_display_name = "Refactor (Haiku )"
|
||||
model = "haiku"
|
||||
parameters = { max_context = 4096, max_tokens = 4096, messages = [{ role = "user", content = "{SELECTED_TEXT}" }], system = "You are an AI coding assistant specializing in code refactoring. Your task is to analyze the given code snippet and provide a refactored version. Follow these steps:\n\n1. Analyze the code context and structure.\n2. Identify areas for improvement, such as code efficiency, readability, or adherence to best practices.\n3. Provide your chain of thought reasoning, wrapped in <reasoning> tags. Include your analysis of the current code and explain your refactoring decisions.\n4. Rewrite the entire code snippet with your refactoring applied.\n5. Wrap your refactored code solution in <answer> tags.\n\nYour response should always include both the reasoning and the refactored code.\n\n<examples>\n<example>\nUser input:\ndef calculate_total(items):\n total = 0\n for item in items:\n total = total + item['price'] * item['quantity']\n return total\n\n\nResponse:\n<reasoning>\n1. The function calculates the total cost of items based on price and quantity.\n2. We can improve readability and efficiency by:\n a. Using a more descriptive variable name for the total.\n b. Utilizing the sum() function with a generator expression.\n c. Using augmented assignment (+=) if we keep the for loop.\n3. We'll implement the sum() function approach for conciseness.\n4. We'll add a type hint for better code documentation.\n</reasoning>\n<answer>\nfrom typing import List, Dict\n\ndef calculate_total(items: List[Dict[str, float]]) -> float:\n return sum(item['price'] * item['quantity'] for item in items)\n</answer>\n</example>\n\n<example>\nUser input:\ndef is_prime(n):\n if n < 2:\n return False\n for i in range(2, n):\n if n % i == 0:\n return False\n return True\n\n\nResponse:\n<reasoning>\n1. This function checks if a number is prime, but it's not efficient for large numbers.\n2. We can improve it by:\n a. Adding an early return for 2, the only even prime number.\n b. Checking only odd numbers up to the square root of n.\n c. Using a more efficient range (start at 3, step by 2).\n3. We'll also add a type hint for better documentation.\n4. The refactored version will be more efficient for larger numbers.\n</reasoning>\n<answer>\nimport math\n\ndef is_prime(n: int) -> bool:\n if n < 2:\n return False\n if n == 2:\n return True\n if n % 2 == 0:\n return False\n \n for i in range(3, int(math.sqrt(n)) + 1, 2):\n if n % i == 0:\n return False\n return True\n</answer>\n</example>\n</examples>" }
|
||||
post_process = { extractor = "(?s)<answer>(.*?)</answer>" }
|
||||
|
||||
###
|
||||
### Configuration for languages
|
||||
###
|
||||
|
||||
[[language]]
|
||||
name = "go"
|
||||
language-servers = ["gopls", "lsp-ai"]
|
||||
|
||||
[[language]]
|
||||
name = "markdown"
|
||||
language-servers = ["marksman", "lsp-ai"]
|
||||
|
||||
# Change dart format to 120 lines
|
||||
[[language]]
|
||||
name = "dart"
|
||||
formatter = {command = "dart", args = ["format", "-l", "120"]}
|
||||
language-servers = ["dart", "lsp-ai"]
|
||||
|
||||
[[language]]
|
||||
name = "zig"
|
||||
language-servers = ["zls", "lsp-ai"]
|
||||
|
||||
[language.debugger]
|
||||
name = "codelldb-dap"
|
||||
transport = "tcp"
|
||||
command = "codelldb"
|
||||
args = []
|
||||
port-arg = "--port {}"
|
||||
|
||||
[[language.debugger.templates]]
|
||||
name = "launch"
|
||||
request = "launch"
|
||||
completion = [ { name = "binary", completion = "filename" } ]
|
||||
args = { console = "internalConsole", program = "{0}" }
|
||||
|
||||
[[language.debugger.templates]]
|
||||
name = "attach"
|
||||
request = "attach"
|
||||
completion = [ "pid" ]
|
||||
args = { console = "internalConsole", pid = "{0}" }
|
||||
|
||||
[[language.debugger.templates]]
|
||||
name = "gdbserver attach"
|
||||
request = "attach"
|
||||
completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
|
||||
args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
|
||||
|
||||
[[language]]
|
||||
name = "nix"
|
||||
language-servers = ["nil", "lsp-ai"]
|
@ -1,10 +0,0 @@
|
||||
general {
|
||||
lock_cmd = swaylock # dbus/sysd lock command (loginctl lock-session)
|
||||
before_sleep_cmd = swaylock
|
||||
ignore_dbus_inhibit = false
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600 # in seconds
|
||||
on-timeout = swaylock -C ~/.config/swaylock/idle-config # command to run when timeout has passed
|
||||
}
|
Before Width: | Height: | Size: 376 KiB |
@ -1,6 +0,0 @@
|
||||
https://www.youtube.com/watch?v=484RgaL990c
|
||||
https://www.youtube.com/watch?v=6OGp_lZT2tM
|
||||
https://www.youtube.com/watch?v=tIsiYbJLwIg
|
||||
https://www.youtube.com/watch?v=pKw6s8w9rAI
|
||||
https://www.youtube.com/watch?v=lFuErjQKoYg
|
||||
https://www.youtube.com/@Denz1000
|
@ -1,21 +0,0 @@
|
||||
#! /usr/bin/env bash
|
||||
|
||||
hyprctl dispatch togglespecialworkspace music
|
||||
|
||||
YT_LINK=$(sort -R < ~/.config/hypr/scripts/music_links.txt | head -n 1)
|
||||
|
||||
firefox --new-window "$YT_LINK" &
|
||||
sleep 1
|
||||
hyprctl dispatch togglefloating
|
||||
hyprctl dispatch movewindow u
|
||||
hyprctl dispatch movewindow l
|
||||
hyprctl dispatch resizeactive exact 45% 45%
|
||||
hyprctl dispatch moveactive 30% 5%
|
||||
|
||||
ghostty ~/.config/hypr/scripts/music_setup_cmd.sh &
|
||||
sleep 1
|
||||
hyprctl dispatch togglefloating
|
||||
hyprctl dispatch resizeactive exact 95% 30%
|
||||
hyprctl dispatch movewindow d
|
||||
hyprctl dispatch movewindow l
|
||||
hyprctl dispatch moveactive -- 30 -5%
|
@ -1,4 +0,0 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
sleep 1
|
||||
cava
|
@ -1,35 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
entries="Screen Window Area Area+Edit"
|
||||
|
||||
selected=$(printf '%s\n' "$entries" | tr ' ' '\n' | wofi --style="$HOME"/.config/wofi/macc_style.css --conf="$HOME"/.config/wofi/config.screenshot | awk '{print tolower($1)}')
|
||||
|
||||
if [ "$1" == "clipboard" ]; then
|
||||
case $selected in
|
||||
screen)
|
||||
hyprshot --notif-timeout 2000 -m output --clipboard-only;;
|
||||
window)
|
||||
hyprshot --notif-timeout 2000 -m window --clipboard-only;;
|
||||
area)
|
||||
hyprshot --notif-timeout 2000 -m region --clipboard-only;;
|
||||
area+edit)
|
||||
hyprshot --notif-timeout 2000 -m region --clipboard-only
|
||||
sleep 0.1
|
||||
flatpak run com.github.maoschanz.drawing -c
|
||||
;;
|
||||
esac
|
||||
else
|
||||
case $selected in
|
||||
screen)
|
||||
hyprshot --notif-timeout 2000 -m output -o ~/Pictures/;;
|
||||
window)
|
||||
hyprshot --notif-timeout 2000 -m window -o ~/Pictures/;;
|
||||
area)
|
||||
hyprshot --notif-timeout 2000 -m region -o ~/Pictures/;;
|
||||
area+edit)
|
||||
hyprshot --notif-timeout 2000 -m region --clipboard-only
|
||||
sleep 0.1
|
||||
flatpak run com.github.maoschanz.drawing -c
|
||||
;;
|
||||
esac
|
||||
fi
|
Before Width: | Height: | Size: 2.7 MiB |
@ -1,447 +0,0 @@
|
||||
snippet_support = true
|
||||
verbosity = 2
|
||||
|
||||
[server]
|
||||
# exit session if no requests were received during given period in seconds
|
||||
# set to 0 to disable
|
||||
timeout = 1800 # seconds = 30 minutes
|
||||
|
||||
[language.bash]
|
||||
filetypes = ["sh"]
|
||||
roots = [".git", ".hg"]
|
||||
command = "bash-language-server"
|
||||
args = ["start"]
|
||||
|
||||
[language.c_cpp]
|
||||
filetypes = ["c", "cpp"]
|
||||
roots = ["compile_commands.json", ".clangd", ".git", ".hg"]
|
||||
command = "clangd"
|
||||
|
||||
[language.clojure]
|
||||
filetypes = ["clojure"]
|
||||
roots = ["project.clj", ".git", ".hg"]
|
||||
command = "clojure-lsp"
|
||||
settings_section = "_"
|
||||
[language.clojure.settings._]
|
||||
# See https://clojure-lsp.io/settings/#all-settings
|
||||
# source-paths-ignore-regex = ["resources.*", "target.*"]
|
||||
|
||||
[language.cmake]
|
||||
filetypes = ["cmake"]
|
||||
roots = ["CMakeLists.txt", ".git", ".hg"]
|
||||
command = "cmake-language-server"
|
||||
|
||||
[language.crystal]
|
||||
filetypes = ["crystal"]
|
||||
roots = ["shard.yml"]
|
||||
command = "crystalline"
|
||||
|
||||
[language.css]
|
||||
filetypes = ["css"]
|
||||
roots = ["package.json", ".git", ".hg"]
|
||||
command = "vscode-css-languageserver"
|
||||
args = ["--stdio"]
|
||||
|
||||
[language.less]
|
||||
filetypes = ["less"]
|
||||
roots = ["package.json", ".git", ".hg"]
|
||||
command = "vscode-css-languageserver"
|
||||
args = ["--stdio"]
|
||||
|
||||
[language.scss]
|
||||
filetypes = ["scss"]
|
||||
roots = ["package.json", ".git", ".hg"]
|
||||
command = "vscode-css-languageserver"
|
||||
args = ["--stdio"]
|
||||
|
||||
[language.d]
|
||||
filetypes = ["d", "di"]
|
||||
roots = [".git", "dub.sdl", "dub.json"]
|
||||
command = "dls"
|
||||
|
||||
[language.dart]
|
||||
# start shell to find path to dart analysis server source
|
||||
filetypes = ["dart"]
|
||||
roots = ["pubspec.yaml", ".git", ".hg"]
|
||||
command = "dart"
|
||||
args = ["language-server"]
|
||||
[language.dart.settings.dart]
|
||||
lineLength = 120
|
||||
|
||||
[language.elixir]
|
||||
filetypes = ["elixir"]
|
||||
roots = ["mix.exs"]
|
||||
command = "elixir-ls"
|
||||
settings_section = "elixirLS"
|
||||
[language.elixir.settings.elixirLS]
|
||||
# See https://github.com/elixir-lsp/elixir-ls/blob/master/apps/language_server/lib/language_server/server.ex
|
||||
# dialyzerEnable = true
|
||||
|
||||
[language.elm]
|
||||
filetypes = ["elm"]
|
||||
roots = ["elm.json"]
|
||||
command = "elm-language-server"
|
||||
args = ["--stdio"]
|
||||
settings_section = "elmLS"
|
||||
[language.elm.settings.elmLS]
|
||||
# See https://github.com/elm-tooling/elm-language-server#server-settings
|
||||
runtime = "node"
|
||||
elmPath = "elm"
|
||||
elmFormatPath = "elm-format"
|
||||
elmTestPath = "elm-test"
|
||||
|
||||
[language.elvish]
|
||||
filetypes = ["elvish"]
|
||||
roots = [".git", ".hg"]
|
||||
command = "elvish"
|
||||
args = ["-lsp"]
|
||||
|
||||
[language.erlang]
|
||||
filetypes = ["erlang"]
|
||||
# See https://github.com/erlang-ls/erlang_ls.git for more information and
|
||||
# how to configure. This default config should work in most cases though.
|
||||
roots = ["rebar.config", "erlang.mk", ".git", ".hg"]
|
||||
command = "erlang_ls"
|
||||
|
||||
[language.go]
|
||||
filetypes = ["go"]
|
||||
roots = ["Gopkg.toml", "go.mod", ".git", ".hg"]
|
||||
command = "gopls"
|
||||
settings_section = "gopls"
|
||||
[language.go.settings.gopls]
|
||||
# See https://github.com/golang/tools/blob/master/gopls/doc/settings.md
|
||||
# "build.buildFlags" = []
|
||||
|
||||
[language.haskell]
|
||||
filetypes = ["haskell"]
|
||||
roots = ["hie.yaml", "cabal.project", "Setup.hs", "stack.yaml", "*.cabal"]
|
||||
command = "haskell-language-server-wrapper"
|
||||
args = ["--lsp"]
|
||||
settings_section = "_"
|
||||
[language.haskell.settings._]
|
||||
# See https://haskell-language-server.readthedocs.io/en/latest/configuration.html
|
||||
# haskell.formattingProvider = "ormolu"
|
||||
|
||||
[language.html]
|
||||
filetypes = ["html"]
|
||||
roots = ["package.json"]
|
||||
command = "vscode-html-languageserver"
|
||||
args = ["--stdio"]
|
||||
|
||||
# # Commented out by default because you still need to set the paths in the JDT
|
||||
# # Language Server arguments below before this can become a valid configuration.
|
||||
# [language.java]
|
||||
# filetypes = ["java"]
|
||||
# roots = [".git", "mvnw", "gradlew"]
|
||||
# command = "java"
|
||||
# args = [
|
||||
# "-Declipse.application=org.eclipse.jdt.ls.core.id1",
|
||||
# "-Dosgi.bundles.defaultStartLevel=4",
|
||||
# "-Declipse.product=org.eclipse.jdt.ls.core.product",
|
||||
# "-Dlog.level=ALL",
|
||||
# "-Dfile.encoding=utf-8",
|
||||
# "--add-modules=ALL-SYSTEM",
|
||||
# "--add-opens",
|
||||
# "java.base/java.util=ALL-UNNAMED",
|
||||
# "--add-opens",
|
||||
# "java.base/java.lang=ALL-UNNAMED",
|
||||
# "-noverify",
|
||||
# "-Xmx1G",
|
||||
# "-jar",
|
||||
# "/path/to/eclipse.jdt.ls/repository/plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar",
|
||||
# "-configuration",
|
||||
# "/path/to/eclipse.jdt.ls/repository/config_linux",
|
||||
# "-data",
|
||||
# "/path/to/eclipse-workspace",
|
||||
# ]
|
||||
# [language.java.settings]
|
||||
# # See https://github.dev/eclipse/eclipse.jdt.ls
|
||||
# # "java.format.insertSpaces" = true
|
||||
|
||||
[language.javascriptreact]
|
||||
filetypes = ["javascript"]
|
||||
roots = ["package.json", "tsconfig.json", ".git", ".hg"]
|
||||
command = "typescript-language-server"
|
||||
args = ["--stdio"]
|
||||
settings_section = "_"
|
||||
[language.javascriptreact.settings._]
|
||||
# quotePreference = "single"
|
||||
# javascript.format.semicolons = "insert"
|
||||
|
||||
[language.json]
|
||||
filetypes = ["json"]
|
||||
roots = ["package.json"]
|
||||
command = "vscode-json-language-server"
|
||||
args = ["--stdio"]
|
||||
|
||||
# Requires Julia package "LanguageServer"
|
||||
# Run: `julia --project=@kak-lsp -e 'import Pkg; Pkg.add("LanguageServer")'` to install it
|
||||
# Configuration adapted from https://github.com/neovim/nvim-lspconfig/blob/bcebfac7429cd8234960197dca8de1767f3ef5d3/lua/lspconfig/julials.lua
|
||||
[language.julia]
|
||||
filetypes = ["julia"]
|
||||
roots = ["Project.toml", ".git", ".hg"]
|
||||
command = "julia"
|
||||
args = [
|
||||
"--startup-file=no",
|
||||
"--history-file=no",
|
||||
"-e",
|
||||
"""
|
||||
ls_install_path = joinpath(get(DEPOT_PATH, 1, joinpath(homedir(), ".julia")), "environments", "kak-lsp");
|
||||
pushfirst!(LOAD_PATH, ls_install_path);
|
||||
using LanguageServer;
|
||||
popfirst!(LOAD_PATH);
|
||||
depot_path = get(ENV, "JULIA_DEPOT_PATH", "");
|
||||
buffer_file = ENV["kak_buffile"];
|
||||
project_path = let
|
||||
dirname(something(
|
||||
# 1. Check if there is an explicitly set project
|
||||
Base.load_path_expand((
|
||||
p = get(ENV, "JULIA_PROJECT", nothing);
|
||||
p === nothing ? nothing : isempty(p) ? nothing : p
|
||||
)),
|
||||
# 2. Check for Project.toml in current working directory
|
||||
Base.current_project(pwd()),
|
||||
# 3. Check for Project.toml from buffer's full file path excluding the file name
|
||||
Base.current_project(dirname(buffer_file)),
|
||||
# 4. Fallback to global environment
|
||||
Base.active_project()
|
||||
))
|
||||
end
|
||||
server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path);
|
||||
server.runlinter = true;
|
||||
run(server);
|
||||
""",
|
||||
]
|
||||
[language.julia.settings]
|
||||
# See https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl
|
||||
# Format options. See https://github.com/julia-vscode/DocumentFormat.jl/blob/master/src/DocumentFormat.jl
|
||||
# "julia.format.indent" = 4
|
||||
# Lint options. See https://github.com/julia-vscode/StaticLint.jl/blob/master/src/linting/checks.jl
|
||||
# "julia.lint.call" = true
|
||||
# Other options, see https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl
|
||||
# "julia.lint.run" = "true"
|
||||
|
||||
[language.latex]
|
||||
filetypes = ["latex"]
|
||||
roots = [".git", ".hg"]
|
||||
command = "texlab"
|
||||
settings_section = "texlab"
|
||||
[language.latex.settings.texlab]
|
||||
# See https://github.com/latex-lsp/texlab/wiki/Configuration
|
||||
#
|
||||
# Preview configuration for zathura with SyncTeX search.
|
||||
# For other PDF viewers see https://github.com/latex-lsp/texlab/wiki/Previewing
|
||||
forwardSearch.executable = "zathura"
|
||||
forwardSearch.args = [
|
||||
"%p",
|
||||
"--synctex-forward", # Support texlab-forward-search
|
||||
"%l:1:%f",
|
||||
"--synctex-editor-command", # Inverse search: use Control+Left-Mouse-Button to jump to source.
|
||||
"""
|
||||
sh -c '
|
||||
echo "
|
||||
evaluate-commands -client %opt{texlab_client} %{
|
||||
evaluate-commands -try-client %opt{jumpclient} %{
|
||||
edit -- %{input} %{line}
|
||||
}
|
||||
}
|
||||
" | kak -p $kak_session
|
||||
'
|
||||
""",
|
||||
]
|
||||
|
||||
[language.lua]
|
||||
filetypes = ["lua"]
|
||||
roots = [".git", ".hg"]
|
||||
command = "lua-language-server"
|
||||
[language.lua.settings.Lua]
|
||||
# See https://github.com/sumneko/vscode-lua/blob/master/setting/schema.json
|
||||
# diagnostics.enable = true
|
||||
|
||||
[language.markdown]
|
||||
filetypes = ["md", "markdown"]
|
||||
roots = [".git", ".hg"]
|
||||
command = "vscode-markdown-language-server"
|
||||
args = ["--stdio"]
|
||||
|
||||
# [[language]]
|
||||
# name = "markdown"
|
||||
# scope = "source.md"
|
||||
# injection-regex = "md|markdown"
|
||||
# file-types = ["md", "markdown", "PULLREQ_EDITMSG", "mkd", "mdwn", "mdown", "markdn", "mdtxt", "mdtext", "workbook"]
|
||||
# roots = [".marksman.toml"]
|
||||
# language-servers = [ "marksman" ]
|
||||
# indent = { tab-width = 2, unit = " " }
|
||||
|
||||
[language.nim]
|
||||
filetypes = ["nim"]
|
||||
roots = ["*.nimble", ".git", ".hg"]
|
||||
command = "nimlsp"
|
||||
|
||||
[language.nix]
|
||||
filetypes = ["nix"]
|
||||
roots = ["flake.nix", "shell.nix", ".git", ".hg"]
|
||||
command = "rnix-lsp"
|
||||
|
||||
[language.ocaml]
|
||||
filetypes = ["ocaml"]
|
||||
# Often useful to simply do a `touch dune-workspace` in your project root folder if you have problems with root detection
|
||||
roots = ["dune-workspace", "dune-project", "Makefile", "opam", "*.opam", "esy.json", ".git", ".hg", "dune"]
|
||||
command = "ocamllsp"
|
||||
|
||||
[language.php]
|
||||
filetypes = ["php"]
|
||||
roots = [".htaccess", "composer.json"]
|
||||
command = "intelephense"
|
||||
args = ["--stdio"]
|
||||
settings_section = "intelephense"
|
||||
[language.php.settings]
|
||||
intelephense.storagePath = "/tmp/intelephense"
|
||||
|
||||
[language.proto]
|
||||
filetypes = ["protobuf"]
|
||||
roots = [".git", ".hg"]
|
||||
command = "pls" # https://github.com/lasorda/protobuf-language-server
|
||||
|
||||
[language.python]
|
||||
filetypes = ["python"]
|
||||
roots = ["requirements.txt", "setup.py", ".git", ".hg"]
|
||||
command = "pylsp"
|
||||
settings_section = "_"
|
||||
[language.python.settings._]
|
||||
# See https://github.com/python-lsp/python-lsp-server#configuration
|
||||
# pylsp.configurationSources = ["flake8"]
|
||||
pylsp.plugins.jedi_completion.include_params = true
|
||||
|
||||
[language.r]
|
||||
filetypes = ["r"]
|
||||
roots = ["DESCRIPTION", ".git", ".hg"]
|
||||
command = "R"
|
||||
args = ["--slave", "-e", "languageserver::run()"]
|
||||
|
||||
[language.racket]
|
||||
filetypes = ["racket"]
|
||||
roots = ["info.rkt"]
|
||||
command = "racket"
|
||||
args = ["-l", "racket-langserver"]
|
||||
|
||||
[language.reason]
|
||||
filetypes = ["reason"]
|
||||
roots = ["package.json", "Makefile", ".git", ".hg"]
|
||||
command = "ocamllsp"
|
||||
|
||||
[language.ruby]
|
||||
filetypes = ["ruby"]
|
||||
roots = ["Gemfile"]
|
||||
command = "solargraph"
|
||||
args = ["stdio"]
|
||||
settings_section = "_"
|
||||
[language.ruby.settings._]
|
||||
# See https://github.com/castwide/solargraph/blob/master/lib/solargraph/language_server/host.rb
|
||||
# diagnostics = false
|
||||
|
||||
# [language.rust]
|
||||
# filetypes = ["rust"]
|
||||
# roots = ["Cargo.toml"]
|
||||
# command = "sh"
|
||||
# args = [
|
||||
# "-c",
|
||||
# """
|
||||
# if path=$(rustup which rls 2>/dev/null); then
|
||||
# "$path"
|
||||
# else
|
||||
# rls
|
||||
# fi
|
||||
# """,
|
||||
# ]
|
||||
# [language.rust.settings.rust]
|
||||
# # See https://github.com/rust-lang/rls#configuration
|
||||
# # features = []
|
||||
|
||||
[language.rust]
|
||||
filetypes = ["rust"]
|
||||
roots = ["Cargo.toml"]
|
||||
command = "sh"
|
||||
args = [
|
||||
"-c",
|
||||
"""
|
||||
if path=$(rustup which rust-analyzer 2>/dev/null); then
|
||||
"$path"
|
||||
else
|
||||
rust-analyzer
|
||||
fi
|
||||
""",
|
||||
]
|
||||
settings_section = "rust-analyzer"
|
||||
[language.rust.settings.rust-analyzer]
|
||||
# See https://rust-analyzer.github.io/manual.html#configuration
|
||||
hoverActions.enable = false # kak-lsp doesn't support this at the moment
|
||||
# cargo.features = []
|
||||
|
||||
[language.terraform]
|
||||
filetypes = ["terraform"]
|
||||
roots = ["*.tf"]
|
||||
command = "terraform-ls"
|
||||
args = ["serve"]
|
||||
[language.terraform.settings.terraform-ls]
|
||||
# See https://github.com/hashicorp/terraform-ls/blob/main/docs/SETTINGS.md
|
||||
# rootModulePaths = []
|
||||
|
||||
# [language.typescriptreact]
|
||||
# filetypes = ["typescript"]
|
||||
# roots = ["package.json", "tsconfig.json", ".git", ".hg"]
|
||||
# command = "typescript-language-server"
|
||||
# args = ["--stdio"]
|
||||
# settings_section = "_"
|
||||
# [language.typescriptreact.settings._]
|
||||
# quotePreference = "double"
|
||||
# typescript.format.semicolons = "insert"
|
||||
|
||||
[language.tsx]
|
||||
filetypes = ["typescript"]
|
||||
roots = ["package.json", "tsconfig.json", ".git", ".hg"]
|
||||
command = "typescript-language-server"
|
||||
args = ["--stdio"]
|
||||
settings_section = "_"
|
||||
|
||||
# [language.typescript.settings.deno]
|
||||
# enable = true
|
||||
# lint = true
|
||||
|
||||
[language.yaml]
|
||||
filetypes = ["yaml"]
|
||||
roots = [".git", ".hg"]
|
||||
command = "yaml-language-server"
|
||||
args = ["--stdio"]
|
||||
[language.yaml.settings]
|
||||
# See https://github.com/redhat-developer/yaml-language-server#language-server-settings
|
||||
# Defaults are at https://github.com/redhat-developer/yaml-language-server/blob/master/src/yamlSettings.ts
|
||||
# yaml.format.enable = true
|
||||
|
||||
[language.zig]
|
||||
filetypes = ["zig"]
|
||||
roots = ["build.zig"]
|
||||
command = "zls"
|
||||
|
||||
# Semantic tokens support
|
||||
# See https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_semanticTokens
|
||||
# for the default list of tokens and modifiers.
|
||||
# However, many language servers implement their own values.
|
||||
# Make sure to check the output of `lsp-capabilities` and each server's documentation and source code as well.
|
||||
# Examples:
|
||||
# - TypeScript: https://github.com/microsoft/vscode-languageserver-node/blob/main/client/src/common/semanticTokens.ts
|
||||
# - Rust Analyzer: https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide/src/syntax_highlighting.rs
|
||||
[semantic_tokens]
|
||||
faces = [
|
||||
{face="documentation", token="comment", modifiers=["documentation"]},
|
||||
{face="comment", token="comment"},
|
||||
{face="function", token="function"},
|
||||
{face="keyword", token="keyword"},
|
||||
{face="module", token="namespace"},
|
||||
{face="operator", token="operator"},
|
||||
{face="string", token="string"},
|
||||
{face="type", token="type"},
|
||||
{face="default+d", token="variable", modifiers=["readonly"]},
|
||||
{face="default+d", token="variable", modifiers=["constant"]},
|
||||
{face="variable", token="variable"},
|
||||
]
|
@ -1 +0,0 @@
|
||||
|
@ -1,87 +0,0 @@
|
||||
|
||||
# Pastel theme for Kakoune
|
||||
|
||||
# Color palette
|
||||
# declare-option str black 'rgb:2b2e33'
|
||||
declare-option str black default
|
||||
declare-option str dark 'rgb:3b3b46'
|
||||
declare-option str gray 'rgb:5a5b5b'
|
||||
declare-option str aqua 'rgb:6bbac1'
|
||||
declare-option str white 'rgb:dcdbd7'
|
||||
declare-option str blue 'rgb:65a4cf'
|
||||
declare-option str cyan 'rgb:6dcac0'
|
||||
declare-option str blue_green 'rgb:81bba3'
|
||||
declare-option str green 'rgb:8dbc92'
|
||||
declare-option str orange 'rgb:dea981'
|
||||
declare-option str pink 'rgb:d38da9'
|
||||
declare-option str purple 'rgb:ca9bf7'
|
||||
declare-option str red 'rgb:db948e'
|
||||
declare-option str yellow 'rgb:e1d179'
|
||||
declare-option str lime 'rgb:adc47e'
|
||||
declare-option str dimgray 'rgb:3d4747'
|
||||
declare-option str psel 'rgba:46466480'
|
||||
declare-option str ssel 'rgba:37375580'
|
||||
|
||||
declare-option str background %opt{black}
|
||||
declare-option str dimmed_background %opt{gray}
|
||||
declare-option str foreground %opt{white}
|
||||
|
||||
# Reference
|
||||
# https://github.com/mawww/kakoune/blob/master/colors/default.kak
|
||||
# For code
|
||||
set-face global value "%opt{yellow}"
|
||||
set-face global type "%opt{aqua}"
|
||||
set-face global variable "%opt{purple}"
|
||||
set-face global module "%opt{white}"
|
||||
set-face global function "%opt{orange}"
|
||||
set-face global string "%opt{pink}"
|
||||
set-face global keyword "%opt{green}"
|
||||
set-face global operator "%opt{aqua}"
|
||||
set-face global attribute "%opt{blue_green}"
|
||||
set-face global bracket "%opt{white}+b"
|
||||
set-face global arguement "%opt{blue_green}"
|
||||
set-face global comma "%opt{white}"
|
||||
set-face global constant "%opt{blue_green}+b"
|
||||
set-face global class "%opt{lime}"
|
||||
set-face global comment "%opt{gray}+i"
|
||||
set-face global meta "%opt{blue}"
|
||||
set-face global builtin "%opt{cyan}+b"
|
||||
|
||||
# For markup
|
||||
set-face global title "%opt{pink}"
|
||||
set-face global header "%opt{orange}"
|
||||
set-face global bold "%opt{pink}"
|
||||
set-face global italic "%opt{purple}"
|
||||
set-face global mono "%opt{green}"
|
||||
set-face global block "%opt{cyan}"
|
||||
set-face global link "%opt{green}"
|
||||
set-face global bullet "%opt{green}"
|
||||
set-face global list "%opt{white}"
|
||||
|
||||
# Builtin faces
|
||||
set-face global Default "%opt{white},%opt{black}"
|
||||
# set-face global Default "%opt{white},default"
|
||||
set-face global PrimarySelection "default,%opt{psel}"
|
||||
set-face global SecondarySelection "default,%opt{ssel}"
|
||||
set-face global PrimaryCursor "%opt{dark},%opt{purple}"
|
||||
set-face global SecondaryCursor "%opt{dark},%opt{aqua}"
|
||||
set-face global PrimaryCursorEol "%opt{dark},%opt{yellow}"
|
||||
set-face global SecondaryCursorEol "%opt{dark},%opt{blue}"
|
||||
set-face global LineNumbers "%opt{gray},%opt{black}"
|
||||
set-face global LineNumberCursor "%opt{purple},%opt{black}+b"
|
||||
set-face global LineNumbersWrapped "%opt{gray},%opt{black}+i"
|
||||
set-face global MenuForeground "%opt{dark},%opt{white}+b"
|
||||
set-face global MenuBackground "%opt{white},%opt{dark}"
|
||||
set-face global MenuInfo "%opt{dark},%opt{orange}"
|
||||
set-face global Information "%opt{yellow},%opt{black}"
|
||||
set-face global Error "%opt{red},%opt{black}"
|
||||
set-face global StatusLine "%opt{white},%opt{black}"
|
||||
set-face global StatusLineMode "%opt{aqua},%opt{black}"
|
||||
set-face global StatusLineInfo "%opt{purple},%opt{black}"
|
||||
set-face global StatusLineValue "%opt{orange},%opt{black}"
|
||||
set-face global StatusCursor "%opt{white},%opt{blue}"
|
||||
set-face global Prompt "%opt{green},%opt{black}"
|
||||
set-face global MatchingChar "%opt{blue},%opt{black}"
|
||||
set-face global Whitespace "%opt{dimgray},%opt{black}+f"
|
||||
set-face global WrapMarker Whitespace
|
||||
set-face global BufferPadding "%opt{black},%opt{black}"
|
@ -1,275 +0,0 @@
|
||||
# ------------------
|
||||
# Plugin Setup
|
||||
# ------------------
|
||||
|
||||
# IMORTANT NOTE:
|
||||
# I needed to open kakoune and type ':plug-install' to actually
|
||||
# install the plugins listed in this file. I did not see this
|
||||
# mentioned in wikis or anything, so make sure to do this to
|
||||
# avoid searching github wikis and reddit needlessly.
|
||||
|
||||
# Creates the /plugins folder if it doesnt exist each startup
|
||||
evaluate-commands %sh{
|
||||
plugins="$kak_config/plugins"
|
||||
mkdir -p "$plugins"
|
||||
[ ! -e "$plugins/plug.kak" ] && \
|
||||
git clone -q https://github.com/andreyorst/plug.kak.git "$plugins/plug.kak"
|
||||
printf "%s\n" "source '$plugins/plug.kak/rc/plug.kak'"
|
||||
}
|
||||
plug "andreyorst/plug.kak" noload
|
||||
|
||||
# ------------------
|
||||
# Editor Settings
|
||||
# ------------------
|
||||
|
||||
# Disables startup message showing
|
||||
set-option global startup_info_version 30000000
|
||||
|
||||
set-option global tabstop 4
|
||||
set-option global indentwidth 4
|
||||
set-option global scrolloff 5,3
|
||||
declare-option str kakrc_path "~/system/nate/dotfiles/kak/kakrc"
|
||||
declare-option str sway_conf_path "~/system/nate/dotfiles/sway/config.d/default"
|
||||
declare-option str shell_config "~/system/nate/modules/home-manager/home.nix"
|
||||
|
||||
# plug "catppuccin/kakoune" theme config %{
|
||||
# colorscheme catppuccin_macchiato
|
||||
# }
|
||||
colorscheme catppuccin_macchiato
|
||||
# relative line numbers
|
||||
hook global BufCreate .* %{
|
||||
add-highlighter buffer/ number-lines -hlcursor
|
||||
}
|
||||
|
||||
# Git Gutters
|
||||
hook global WinCreate .* %{ evaluate-commands %sh{
|
||||
if [ $kak_buffile != $kak_bufname ] && git ls-files --error-unmatch "$kak_buffile" > /dev/null 2>&1; then
|
||||
echo "git show-diff"
|
||||
fi
|
||||
}}
|
||||
|
||||
# Write on unfocus
|
||||
hook global FocusOut .* %{ try %{
|
||||
write
|
||||
}}
|
||||
|
||||
hook global BufWritePost .* %{ evaluate-commands 'git update-diff' }
|
||||
hook global BufReload .* %{ evaluate-commands 'git update-diff' }
|
||||
|
||||
# Color Render in Echo Area
|
||||
hook global WinSetOption filetype=kak %{ hook global NormalIdle .* %{
|
||||
evaluate-commands -save-regs 'a' %{ try %{
|
||||
execute-keys -draft <a-i>w"ay
|
||||
evaluate-commands %sh{ (
|
||||
color="${kak_reg_a}"
|
||||
inverted_color=$(echo "${color}" | perl -pe 'tr/0123456789abcdefABCDEF/fedcba9876543210543210/')
|
||||
printf "%s\n" "evaluate-commands -client $kak_client %{ try %{
|
||||
echo -markup %{{rgb:${inverted_color},rgb:${color}+b} #${color} }
|
||||
}}" | kak -p $kak_session
|
||||
) >/dev/null 2>&1 </dev/null & }
|
||||
}}
|
||||
}}
|
||||
|
||||
# Add default,red and bold style to these regex matches
|
||||
add-highlighter global/ regex \b(TODO|FIXME|XXX|NOTE)\b 0:default,red+rb
|
||||
|
||||
# ------------------
|
||||
# Key bindings
|
||||
# ------------------
|
||||
|
||||
# Remap hjkl navigation to colemak-dh layout
|
||||
map global normal n h
|
||||
map global normal e k
|
||||
map global normal i j
|
||||
map global normal o l
|
||||
|
||||
map global normal N H
|
||||
map global normal E K
|
||||
map global normal I J
|
||||
map global normal O L
|
||||
|
||||
# Remap insert command
|
||||
map global normal h i
|
||||
|
||||
# Insert line above or below
|
||||
map global normal l o
|
||||
map global normal L O
|
||||
|
||||
# No alt, remap
|
||||
map global normal <c-f> <a-f> -docstring 'same as [f] but in the other direction'
|
||||
map global normal <c-t> <a-t> -docstring 'same as [t] but in the other direction'
|
||||
map global normal <c-n> <a-h> -docstring 'select to beginning of line'
|
||||
map global normal <c-o> <a-l> -docstring 'select to end of line'
|
||||
map global normal <c-s> <a-s> -docstring 'split selections on line boundaries'
|
||||
map global normal <c-S> <a-S> -docstring 'select first and last character of each selection'
|
||||
map global normal '<c-;>' '<a-;>' -docstring 'flip direction of each selection'
|
||||
map global normal <c-:> <a-:> -docstring 'ensure selections are in forward direction (cursor then anchor)'
|
||||
map global normal <c-,> <a-,> -docstring 'clear the main selection'
|
||||
map global normal <c-.> <a-.> -docstring 'Repeat last object or f/t selection'
|
||||
|
||||
# Scrolling remap
|
||||
map global normal <c-e> <pageup> -docstring 'Scroll screen up'
|
||||
map global normal <c-i> <pagedown> -docstring 'Scroll screen down'
|
||||
|
||||
map global normal <c-/> ':comment-line<ret>' -docstring 'comment selected lines'
|
||||
|
||||
# Ctrl-s to save
|
||||
map global normal <c-s> ':w<ret>' -docstring 'write buffer'
|
||||
# Ctrl-x to save and exit
|
||||
map global normal <c-x> ':w<ret>:db<ret>' -docstring 'write close buffer'
|
||||
|
||||
# Colemak goto remappings
|
||||
map global goto n h -docstring 'line start'
|
||||
map global goto o l -docstring 'line end'
|
||||
map global goto e k -docstring 'buffer top'
|
||||
map global goto i j -docstring 'buffer bottom'
|
||||
|
||||
map global goto h n
|
||||
map global goto l o
|
||||
map global goto k e
|
||||
map global goto j i
|
||||
|
||||
# Remap view keys
|
||||
map global view n h
|
||||
map global view o l
|
||||
map global view e k
|
||||
map global view i j
|
||||
|
||||
map global normal ( ': buffer-previous<ret>' -docstring 'prev buffer'
|
||||
map global normal ) ': buffer-next<ret>' -docstring 'next buffer'
|
||||
|
||||
# map global normal [ ( -docstring 'rotate main selection'
|
||||
|
||||
# map global normal ] ) -docstring 'rotate main selection backwards'
|
||||
# Make x select <param> lines up and down
|
||||
def -params 1 extend-line-down %{
|
||||
exec "<a-:>%arg{1}J"
|
||||
}
|
||||
|
||||
def -params 1 extend-line-up %{
|
||||
exec "<a-:><a-;>%arg{1}K<a-;>"
|
||||
try %{
|
||||
exec -draft ';<a-K>\n<ret>'
|
||||
exec X
|
||||
}
|
||||
exec '<a-;><a-X>'
|
||||
}
|
||||
|
||||
|
||||
map global normal x ':extend-line-down %val{count}<ret>'
|
||||
map global normal X ':extend-line-up %val{count}<ret>'
|
||||
|
||||
map global normal k n -docstring 'next result'
|
||||
map global normal K N -docstring 'next result add selection'
|
||||
|
||||
map global normal <a-k> <c-n> -docstring 'prev result'
|
||||
map global normal <a-K> <c-N> -docstring 'prev result add selection'
|
||||
|
||||
map global insert <down> <c-n> -docstring 'next completion'
|
||||
map global insert <up> <c-p> -docstring 'prev completion'
|
||||
|
||||
# User Mode Bindings
|
||||
# Accessed with <space>
|
||||
declare-user-mode git
|
||||
map global user g ': enter-user-mode git<ret>' -docstring "Git mode"
|
||||
map global user p '<a-!>wl-paste -n<ret>' -docstring 'paste from system clip board'
|
||||
hook global RegisterModified '"' %{ nop %sh{
|
||||
printf %s "$kak_main_reg_dquote" | wl-copy > /dev/null 2>&1 &
|
||||
}}
|
||||
|
||||
# Open kakrc, double quotes needed to ecsape the kakrc_path option
|
||||
map global user o ":edit %opt{kakrc_path}<ret>" -docstring 'open kakrc'
|
||||
map global user z ":edit %opt{shell_config}<ret>" -docstring 'open shell config'
|
||||
map global user S ":edit %opt{sway_conf_path}<ret>" -docstring 'open wm config'
|
||||
# Git Mode Bindings
|
||||
map global git d '<esc>:git show-diff<ret>' -docstring "Show diff"
|
||||
|
||||
# -----------------
|
||||
# LSP Configuration
|
||||
# -----------------
|
||||
|
||||
plug "kak-lsp/kak-lsp" do %{
|
||||
cargo install --locked --force --path .
|
||||
mkdir -p ~/.config/kak-lsp
|
||||
cp -n kak-lsp.toml ~/.config/kak-lsp/
|
||||
} config %{
|
||||
|
||||
# enable inlay hints
|
||||
lsp-inlay-hints-enable global
|
||||
lsp-inlay-diagnostics-enable global
|
||||
|
||||
# set global lsp_diagnostic_line_error_sign '║'
|
||||
# set global lsp_diagnostic_line_warning_sign '┊'
|
||||
|
||||
define-command lsp-restart -docstring 'restart lsp server' %{ lsp-stop; lsp-start }
|
||||
|
||||
map global insert <tab> '<a-;>:try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
|
||||
map global object a '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
||||
map global object <a-a> '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
||||
map global object e '<a-semicolon>lsp-object Function Method<ret>' -docstring 'LSP function or method'
|
||||
map global object k '<a-semicolon>lsp-object Class Interface Struct<ret>' -docstring 'LSP class interface or struct'
|
||||
map global object d '<a-semicolon>lsp-diagnostic-object --include-warnings<ret>' -docstring 'LSP errors and warnings'
|
||||
map global object D '<a-semicolon>lsp-diagnostic-object<ret>' -docstring 'LSP errors'
|
||||
|
||||
# load lsp for supported filetypes
|
||||
set-option global lsp_cmd "kak-lsp -s %val{session} -vvv --log /tmp/kak-lsp.log"
|
||||
hook global WinSetOption filetype=(rust|python|go|javascript|typescript|c|cpp|zig|dart|ruby) %{
|
||||
lsp-enable-window
|
||||
# lsp-auto-hover-enable
|
||||
map global user l ': enter-user-mode lsp<ret>' -docstring 'lsp mode'
|
||||
map global user h ': enter-user-mode lsp<ret>h' -docstring 'lsp help'
|
||||
map global user a ': enter-user-mode lsp<ret>a' -docstring 'lsp code action'
|
||||
set-option global lsp_hover_anchor false
|
||||
}
|
||||
|
||||
hook global KakEnd .* lsp-exit
|
||||
}
|
||||
|
||||
|
||||
# -----------------
|
||||
# Other Plugins
|
||||
# -----------------
|
||||
|
||||
map global goto f '<esc>:prompt -shell-script-candidates %{ fd --type f --hidden } file: %{ edit %val{text} }<ret>' -docstring "file"
|
||||
map global goto b '<esc>:prompt -buffer-completion buffer: %{ buffer %val{text} }<ret>' -docstring "buffer"
|
||||
|
||||
# Fzf Plugin
|
||||
plug "andreyorst/fzf.kak" config %{
|
||||
# map global user f ':fzf-mode<ret>v' -docstring 'fzf file in project'
|
||||
map global user b ':fzf-mode<ret>b' -docstring 'fzf current buffers'
|
||||
|
||||
map global user / ':fzf-mode<ret>g' -docstring 'fzf search in project'
|
||||
|
||||
# def fzf_file %{
|
||||
# evaluate-commands %sh{
|
||||
# printf "%s\n" ":fzf-mode<ret><esc>:fzf -items-cmd fd<ret>"
|
||||
# }
|
||||
# }
|
||||
|
||||
# Change FZF colors
|
||||
# FZF_DEFAULT_OPTS=" \
|
||||
# --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \
|
||||
# --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \
|
||||
# --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8"
|
||||
}
|
||||
|
||||
|
||||
|
||||
plug "alexherbo2/auto-pairs.kak" %{
|
||||
enable-auto-pairs
|
||||
}
|
||||
|
||||
|
||||
plug "https://github.com/h-youhei/kakoune-surround"
|
||||
|
||||
map global normal <c-m> ':surround<ret>'
|
||||
|
||||
# Custom scripts
|
||||
|
||||
# evaluate-commands %sh{
|
||||
# for file in ~/.config/kak/rc/*.kak; do
|
||||
# printf "source %s\n" $file
|
||||
# done
|
||||
# }
|
||||
|
||||
# source "~/.config/kak/rc/"
|
@ -1,40 +0,0 @@
|
||||
#use evaluate-commands to collapse undo
|
||||
define-command close_tag %{ evaluate-commands %{
|
||||
#revert removing indent after leaving insert mode
|
||||
try %{
|
||||
execute-keys -draft '<a-h>s[^\n]<ret>'
|
||||
} catch %{
|
||||
execute-keys -draft 'K<a-&>'
|
||||
}
|
||||
execute-keys ';Gg<a-;>'
|
||||
evaluate-commands %sh{
|
||||
tag_list=`echo "$kak_selection" | grep -P -o '(?<=<)[^>]*[^/>](?=>)' | tac | cut -d ' ' -f 1`
|
||||
close=
|
||||
close_stack=
|
||||
result=
|
||||
for tag in $tag_list ; do
|
||||
if [ `echo $tag | cut -c 1` = / ] ; then
|
||||
close=${tag#/}
|
||||
close_stack=$close\\n$close_stack
|
||||
else
|
||||
if [ $kak_opt_filetype != xml ] ; then
|
||||
case $tag in
|
||||
#self-closing tags
|
||||
area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr) continue ;;
|
||||
esac
|
||||
fi
|
||||
if [ $tag = $close ] ; then
|
||||
close_stack=${close_stack#*\\n}
|
||||
close=`echo $close_stack | head -n 1`
|
||||
else
|
||||
result=$tag
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
[ -z $result ] && echo "fail 'no un-closed tag'"
|
||||
echo "execute-keys -with-hooks \;i<lt>/$result><esc>"
|
||||
}
|
||||
}}
|
||||
|
||||
map global user c ':close_tag<ret>' -docstring "Close tag"
|
@ -1,21 +0,0 @@
|
||||
[General]
|
||||
ConfigVersion=2
|
||||
|
||||
[Browser]
|
||||
CustomProxyLocation=
|
||||
Enabled=true
|
||||
|
||||
[GUI]
|
||||
ApplicationTheme=dark
|
||||
TrayIconAppearance=monochrome-light
|
||||
|
||||
[KeeShare]
|
||||
Active="<?xml version=\"1.0\"?><KeeShare><Active/></KeeShare>\n"
|
||||
Own="<?xml version=\"1.0\"?><KeeShare><PrivateKey>MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8OYI/I2otsVMdam8HqfnEYa6emzV2EzXAST+1A4IOC8ojOJdGbhKbvScu5MwgPAWDRiS0yIr6fjNHpTfHCMqY/K8+UsaubHIAjVVR5SDrBvAroTfts/oIqFcW8ab9DYMPpopaxnXh25gGrmEBb33GzuL2LJ4kXz40BEYjsOSffOM83/RstRhmXaV86nPmtbswyLwSEGsPZZliMIgMEoT/Y2qcjfwRJIRIEWNybmlgrHWAzVj5sr00KQhfTRo6dQG/yBMoElYGNvKSTmQDy7WVR+Mh+rYPKOwb2v8D7UrPDKd1n+GheEBKpvE8mDcSg/vGlXOHirOBdtuk+/xhqAqxAgMBAAECggEAETzLs/WN0+5r4q3sdM1juCY2pC7UTWJtUeqYtilClVUOEiisw0CcXVKMI+wZ0jqSSgHipa3B+zZogtSw0Cj6yNpHQD67aZ45LdoY/ggs+hPSFeTMpu0MZmjoROEk6QLTmwYmSzGRT88DqVpPPEmWFrQRWU3KaSFRzy4JsFtoVz9OYeFw37d9pG8BYeruqE7kx+uzCYWRjQXrjmofFpbxGWhkIUcvbVZ8wUVso4gT4JxAQks6nryL5M9NXefU+x/e1Rkopa5aRG/H0dPMYX/8uV2lsr/AW4+kaMPrKoAsPUhErrrJDwNL2zCmcAzNgsthUo/6yLLKlnk+THAGnruEawKBgQDDG9qpvR+OCQrV1rUiX2JmomkMPKIkAf4xLFNAdOwnPMRnq1mRCn0OJmmPmRF+I5fM/64tFzGK/KD5fxll3ybN+mpA540ho9Gvk89AbILXmp9MQMEh92H5tf4/q1EKgsFjMM0aplg2zupsimyi4LuI6tCBUhWun5X5yxUsbyBW2wKBgQD296WmxLJEQJcHfHN/RYBs9HAKCWZTn8kLgoFgCxTHHTB+i5N9yug78N3LmsYUBYwbshpVewxcv6xrfxQJ/igB+zXAgDAghhvbqw+kAiFo+OapchX+Yvm6LzHdnpOIUEDcVhP/IPyGwCNqL3DYhX0A7Qudk4/g73MStAS5aHucYwKBgG4/RweyvincIitC74dErq2gCAvKFzSRi7jtev1pFCf3xmNuB2ZVruRYAD4MGD5Wjmhf8WO5P11x8uQIVamitqKdZXzXWoAvuUSlGO8mYajCzlCgJoGy78HSfKAthdWSnQQXh04PwLj3oq9CaLCAnHd5d+gbIfVSZ8SGZKh/Ap8RAoGADF8dgjwqPfcKWcqnMoH1y/92uVn9MUU42gXAm2ISuWLB8iTlz5Bhj9ciFTf8ojYg7aY/YXbXiLHlXkEwbMu5j1fZOnpxbr+pF5j7IJkmuU52p5had7LXlbcVhWeTNmnmxeLd/5LUc5+eZoxX19DgETLOuScSNw9nsVEpR2xvfMcCgYEAgR4j9M8Nq088dA5Z3VGGxJ/l3GI+gChogZBRmyG48GuBygMVujJ5Kowqid0a3ImAnvxa8BGvEJlinmAsKmyi1UsmXMCLzOWO+jRNuIRoscFk1m2D3IfG43NnjoOhr9aJZHga8DHd1FXNPTqT74jkePHlDzpGOaHXQUN5CyGNouA=</PrivateKey><PublicKey><Signer>nate</Signer><Key>MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8OYI/I2otsVMdam8HqfnEYa6emzV2EzXAST+1A4IOC8ojOJdGbhKbvScu5MwgPAWDRiS0yIr6fjNHpTfHCMqY/K8+UsaubHIAjVVR5SDrBvAroTfts/oIqFcW8ab9DYMPpopaxnXh25gGrmEBb33GzuL2LJ4kXz40BEYjsOSffOM83/RstRhmXaV86nPmtbswyLwSEGsPZZliMIgMEoT/Y2qcjfwRJIRIEWNybmlgrHWAzVj5sr00KQhfTRo6dQG/yBMoElYGNvKSTmQDy7WVR+Mh+rYPKOwb2v8D7UrPDKd1n+GheEBKpvE8mDcSg/vGlXOHirOBdtuk+/xhqAqxAgMBAAECggEAETzLs/WN0+5r4q3sdM1juCY2pC7UTWJtUeqYtilClVUOEiisw0CcXVKMI+wZ0jqSSgHipa3B+zZogtSw0Cj6yNpHQD67aZ45LdoY/ggs+hPSFeTMpu0MZmjoROEk6QLTmwYmSzGRT88DqVpPPEmWFrQRWU3KaSFRzy4JsFtoVz9OYeFw37d9pG8BYeruqE7kx+uzCYWRjQXrjmofFpbxGWhkIUcvbVZ8wUVso4gT4JxAQks6nryL5M9NXefU+x/e1Rkopa5aRG/H0dPMYX/8uV2lsr/AW4+kaMPrKoAsPUhErrrJDwNL2zCmcAzNgsthUo/6yLLKlnk+THAGnruEawKBgQDDG9qpvR+OCQrV1rUiX2JmomkMPKIkAf4xLFNAdOwnPMRnq1mRCn0OJmmPmRF+I5fM/64tFzGK/KD5fxll3ybN+mpA540ho9Gvk89AbILXmp9MQMEh92H5tf4/q1EKgsFjMM0aplg2zupsimyi4LuI6tCBUhWun5X5yxUsbyBW2wKBgQD296WmxLJEQJcHfHN/RYBs9HAKCWZTn8kLgoFgCxTHHTB+i5N9yug78N3LmsYUBYwbshpVewxcv6xrfxQJ/igB+zXAgDAghhvbqw+kAiFo+OapchX+Yvm6LzHdnpOIUEDcVhP/IPyGwCNqL3DYhX0A7Qudk4/g73MStAS5aHucYwKBgG4/RweyvincIitC74dErq2gCAvKFzSRi7jtev1pFCf3xmNuB2ZVruRYAD4MGD5Wjmhf8WO5P11x8uQIVamitqKdZXzXWoAvuUSlGO8mYajCzlCgJoGy78HSfKAthdWSnQQXh04PwLj3oq9CaLCAnHd5d+gbIfVSZ8SGZKh/Ap8RAoGADF8dgjwqPfcKWcqnMoH1y/92uVn9MUU42gXAm2ISuWLB8iTlz5Bhj9ciFTf8ojYg7aY/YXbXiLHlXkEwbMu5j1fZOnpxbr+pF5j7IJkmuU52p5had7LXlbcVhWeTNmnmxeLd/5LUc5+eZoxX19DgETLOuScSNw9nsVEpR2xvfMcCgYEAgR4j9M8Nq088dA5Z3VGGxJ/l3GI+gChogZBRmyG48GuBygMVujJ5Kowqid0a3ImAnvxa8BGvEJlinmAsKmyi1UsmXMCLzOWO+jRNuIRoscFk1m2D3IfG43NnjoOhr9aJZHga8DHd1FXNPTqT74jkePHlDzpGOaHXQUN5CyGNouA=</Key></PublicKey></KeeShare>\n"
|
||||
QuietSuccess=true
|
||||
|
||||
[PasswordGenerator]
|
||||
AdditionalChars=
|
||||
ExcludedChars=
|
||||
Length=25
|
||||
SpecialChars=false
|
@ -1,26 +0,0 @@
|
||||
[delta "Catppuccin Macchiato"]
|
||||
blame-palette = "#24273a #1e2030 #181926 #363a4f #494d64"
|
||||
commit-decoration-style = "box ul"
|
||||
dark = true
|
||||
file-decoration-style = "#cad3f5"
|
||||
file-style = "#cad3f5"
|
||||
hunk-header-decoration-style = "box ul"
|
||||
hunk-header-file-style = "bold"
|
||||
hunk-header-line-number-style = "bold #a5adcb"
|
||||
hunk-header-style = "file line-number syntax"
|
||||
line-numbers = true
|
||||
line-numbers-left-style = "#6e738d"
|
||||
line-numbers-minus-style = "bold #ed8796"
|
||||
line-numbers-plus-style = "bold #a6da95"
|
||||
line-numbers-right-style = "#6e738d"
|
||||
line-numbers-zero-style = "#6e738d"
|
||||
# 25% red 75% base
|
||||
minus-emph-style = "bold syntax #564052"
|
||||
# 10% red 90% base
|
||||
minus-style = "syntax #383143"
|
||||
# 25% green 75% base
|
||||
plus-emph-style = "bold syntax #455552"
|
||||
# 10% green 90% base
|
||||
plus-style = "syntax #313943"
|
||||
# Should match the name of the bat theme
|
||||
syntax-theme = "Catppuccin-macchiato"
|
@ -1,23 +0,0 @@
|
||||
font=Overpass Nerd Font 20
|
||||
|
||||
background-color=#24273a
|
||||
text-color=#cad3f5
|
||||
width=630
|
||||
height=400
|
||||
padding=10
|
||||
margin=20
|
||||
progress-color=over #eceff480
|
||||
icon-path=/usr/share/icons/Arc-X-D
|
||||
max-icon-size=140
|
||||
layer=overlay
|
||||
|
||||
border-size=5
|
||||
border-radius=8
|
||||
border-color=#b7bdf8
|
||||
|
||||
default-timeout=5000
|
||||
|
||||
[urgency=high]
|
||||
|
||||
ignore-timeout=1
|
||||
|
@ -1 +0,0 @@
|
||||
7376
|
@ -1,179 +0,0 @@
|
||||
EndeavourOS Sway-WM CheatSheet :
|
||||
|
||||
- Hello! Welcome to EndeavourOS and our Sway-WM Edition! Now we'll admit this is not vanilla Sway and it wasn't desinged to be. It is loosely themed around the ArcDark
|
||||
colorscheme chosen for it's stability and ease of implementation. The default bar is Waybar not Swaybar - once again chosen it's ease of use and stability as well
|
||||
the options it offers.
|
||||
|
||||
- Sway is documentated through man pages unlike i3.To get a overview of what to expect you can read 'man 5 sway'. The pages are then spilt into topics - some the
|
||||
important ones are listed at the bottom of the document. Waybar is also documented through man pages - 'man 5 waybar'.
|
||||
|
||||
- Our file structure is spilt for easier use - the names of the files eg; 'output' referring to the part they play.
|
||||
|
||||
- If your experiencing issus with your cursor - edit file '~/.profile' and comment out 'export WLR_NO_HARDWARE_CURSORS=1'
|
||||
|
||||
- Other than that enjoy your time here and welcome! You can join the Forum or our Telegram - we'd love to hear from you!
|
||||
|
||||
= windows key
|
||||
|
||||
# start floating xfce4-terminal
|
||||
+Return
|
||||
|
||||
# start fixed termite-terminal
|
||||
+Shift+Return
|
||||
|
||||
# kill focused window
|
||||
+q
|
||||
|
||||
# Application menu - wofi:
|
||||
+d
|
||||
|
||||
# Activities:
|
||||
+p
|
||||
|
||||
# Power-Menu:
|
||||
+Shift+e
|
||||
|
||||
# Lock the system
|
||||
+f1
|
||||
|
||||
# reload the configuration file
|
||||
+Shift+c
|
||||
|
||||
# change window focus,like vim
|
||||
+h focus left
|
||||
+j focus down
|
||||
+k focus up
|
||||
+l focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
+Left focus left
|
||||
+Down focus down
|
||||
+Up focus up
|
||||
+Right focus right
|
||||
|
||||
# move a focused window
|
||||
+Shift+h move left
|
||||
+Shift+j move down
|
||||
+Shift+k move up
|
||||
+Shift+l move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
+Shift+Left move left
|
||||
+Shift+Down move down
|
||||
+Shift+Up move up
|
||||
+Shift+Right move right
|
||||
|
||||
# split in horizontal orientation (changes take place on next opened window):
|
||||
+b
|
||||
|
||||
# split in vertical orientation (changes take place on next opened window):
|
||||
+v
|
||||
|
||||
# enter fullscreen mode for the focused container:
|
||||
+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split):
|
||||
+s layout stacking
|
||||
+w layout tabbed
|
||||
+e layout toggle split
|
||||
|
||||
# toggle tiling / floating:
|
||||
+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows:
|
||||
+space focus mode_toggle
|
||||
|
||||
# focus the parent container:
|
||||
+a focus parent
|
||||
|
||||
# resize floating window:
|
||||
+right mouse button
|
||||
|
||||
# move floating window:
|
||||
+left mouse button
|
||||
|
||||
# scratchpad:
|
||||
+Shift+Minus move scratchpad
|
||||
+minus scratchpad cycle
|
||||
|
||||
# resize mode:
|
||||
+r
|
||||
|
||||
# resize,like vim:
|
||||
h focus left
|
||||
j focus down
|
||||
k focus up
|
||||
l focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
Left focus left
|
||||
Down focus down
|
||||
Up focus up
|
||||
Right focus right
|
||||
|
||||
# Return to default mode:
|
||||
Return or Escape
|
||||
|
||||
# Workspaces:
|
||||
#
|
||||
# Switch to workspace
|
||||
+1 workspace number 1
|
||||
+2 workspace number 2
|
||||
+3 workspace number 3
|
||||
+4 workspace number 4
|
||||
+5 workspace number 5
|
||||
+6 workspace number 6
|
||||
+7 workspace number 7
|
||||
+8 workspace number 8
|
||||
+9 workspace number 9
|
||||
+0 workspace number 10
|
||||
# Move focused container to workspace:
|
||||
+Shift+1 move container to workspace number 1
|
||||
+Shift+2 move container to workspace number 2
|
||||
+Shift+3 move container to workspace number 3
|
||||
+Shift+4 move container to workspace number 4
|
||||
+Shift+5 move container to workspace number 5
|
||||
+Shift+6 move container to workspace number 6
|
||||
+Shift+7 move container to workspace number 7
|
||||
+Shift+8 move container to workspace number 8
|
||||
+Shift+9 move container to workspace number 9
|
||||
+Shift+0 move container to workspace number 10
|
||||
|
||||
|
||||
# Multimedia Keys (be aware that these may not work for every keyboard):
|
||||
They are enabled - you may need to hold down the function key while doing so.
|
||||
|
||||
# Screenshots:
|
||||
PrintSrc for full screenshot
|
||||
Shift+PrintSrc for screenshot options
|
||||
|
||||
# App Shortcuts:
|
||||
+n thunar
|
||||
+o firefox
|
||||
|
||||
|
||||
# Other Things:
|
||||
|
||||
# Input - ~/.config/sway/config.d/input
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Put your touchpad's IDENFICATOR to replace "Touchpad-ID" (keep the quotation marks)
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
|
||||
# Output - ~/.config/sway/config.d/output
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
# Read `man 5 sway-output` for more information about this section.
|
||||
|
||||
# Wallpaper - ~/.config/sway/config.d/theme
|
||||
# exec swaybg -i /path/to/wallpaper
|
||||
|
||||
# Waybar - ~/.config/waybar/config : ~/.config/waybar/style.css
|
||||
# It is an external bar we have chosen because of the option's it allows.
|
||||
# If you wish to use the default swaybar - ~/.config/sway/config.d/theme and change waybar to sway-bar
|
||||
# Read `man 5 sway-bar` for more information about this section
|
||||
|
||||
# Autostart - ~/.config/sway/config.d/autostart_applications
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
# Initial Setup
|
||||
# exec ~/set_once.sh
|
||||
|
||||
# Config for sway
|
||||
#
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
|
||||
# user config directory
|
||||
include $HOME/.config/sway/config.d/*
|
||||
|
||||
# only enable this if every app you use is compatible with wayland
|
||||
# xwayland disable
|
@ -1,54 +0,0 @@
|
||||
# Assign workspaces
|
||||
assign [app_id="firefox"] 2
|
||||
for_window [app_id="firefox"] focus
|
||||
|
||||
assign [class="firefox"] 2
|
||||
for_window [class="firefox"] focus
|
||||
|
||||
assign [app_id=thunar] 3
|
||||
for_window [app_id=thunar] focus
|
||||
|
||||
assign [class="Telegram"] 4
|
||||
for_window [class="Telegram"] focus
|
||||
|
||||
|
||||
for_window [app_id="xed"] focus
|
||||
|
||||
# default keepass main window to scratch
|
||||
for_window [app_id="org.keepassxc.KeePassXC"] $floating_window
|
||||
for_window [app_id="org.keepassxc.KeePassXC" title="KeePassXC"] move to scratchpad #, scratchpad show # default to show
|
||||
|
||||
# set floating (nontiling) for apps needing it:
|
||||
for_window [class="Yad" instance="yad"] floating enable
|
||||
for_window [app_id="yad"] floating enable
|
||||
for_window [app_id="blueman-manager"] floating enable, resize set width 40 ppt height 30 ppt
|
||||
|
||||
# set floating (nontiling) for special apps:
|
||||
for_window [class="Xsane" instance="xsane"] floating enable
|
||||
for_window [app_id="pavucontrol" ] floating enable, resize set width 40 ppt height 30 ppt
|
||||
for_window [class="qt5ct" instance="qt5ct"] floating enable, resize set width 60 ppt height 50 ppt
|
||||
for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
|
||||
for_window [app_id="pamac-manager"] floating enable, resize set width 80 ppt height 70 ppt
|
||||
for_window [class="Lxappearance"] floating enable, resize set width 60 ppt height 50 ppt
|
||||
for_window [class="steam" title="^((?!Steam$).)*"] floating enable
|
||||
|
||||
# set floating for window roles
|
||||
for_window [window_role="pop-up"] floating enable
|
||||
for_window [window_role="bubble"] floating enable
|
||||
for_window [window_role="task_dialog"] floating enable
|
||||
for_window [window_role="Preferences"] floating enable
|
||||
for_window [window_type="dialog"] floating enable
|
||||
for_window [window_type="menu"] floating enable
|
||||
for_window [window_role="About"] floating enable
|
||||
for_window [title="File Operation Progress"] floating enable, border pixel 1, sticky enable, resize set width 40 ppt height 30 ppt
|
||||
for_window [app_id="firefox" title="^Library$"] floating enable, border pixel 1, sticky enable, resize set width 40 ppt height 30 ppt
|
||||
for_window [app_id="floating_shell_portrait"] floating enable, border pixel 1, sticky enable, resize set width 30 ppt height 40 ppt
|
||||
for_window [title="Picture in picture"] floating enable, sticky enable
|
||||
for_window [title="nmtui"] floating enable, resize set width 50 ppt height 70 ppt
|
||||
for_window [app_id="xsensors"] floating enable
|
||||
for_window [title="Save File"] floating enable
|
||||
for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill
|
||||
|
||||
# Inhibit idle
|
||||
for_window [app_id="firefox"] inhibit_idle fullscreen
|
||||
for_window [app_id="Chromium"] inhibit_idle fullscreen
|
@ -1,22 +0,0 @@
|
||||
# Auth with polkit-gnome:
|
||||
exec lxqt-policykit-agent
|
||||
|
||||
# Desktop notifications
|
||||
exec mako
|
||||
|
||||
# Network Applet
|
||||
exec nm-applet --indicator
|
||||
|
||||
# GTK3 applications take a long time to start
|
||||
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
exec hash dbus-update-activation-environment 2>/dev/null && \
|
||||
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
|
||||
# Sway Fader
|
||||
# exec python3 ~/.config/sway/scripts/swayfader.py
|
||||
|
||||
# gpu controller
|
||||
exec corectrl
|
||||
|
||||
exec keepassxc
|
||||
exec kdeconnect-indicator
|
@ -1,6 +0,0 @@
|
||||
# Clamshell Mode
|
||||
set $laptop eDP-1
|
||||
bindswitch --reload --locked lid:on output $laptop disable
|
||||
bindswitch --reload --locked lid:off output $laptop enable
|
||||
|
||||
exec_always ~/.config/sway/scripts/clamshell.sh
|
@ -1,233 +0,0 @@
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
|
||||
# Home row direction keys, like vim
|
||||
set $left n
|
||||
set $down i
|
||||
set $up e
|
||||
set $right o
|
||||
|
||||
# audio control
|
||||
set $sink_volume pactl get-sink-volume @DEFAULT_SINK@ | grep '^Volume:' | cut -d / -f 2 | tr -d ' ' | sed 's/%//'
|
||||
set $source_volume pactl get-source-volume @DEFAULT_SOURCE@ | grep '^Volume:' | cut -d / -f 2 | tr -d ' ' | sed 's/%//'
|
||||
set $volume_down $(pactl set-sink-volume @DEFAULT_SINK@ -5% && $sink_volume)
|
||||
set $volume_up $(pactl set-sink-volume @DEFAULT_SINK@ +5% && $sink_volume)
|
||||
set $volume_mute $(pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-mute @DEFAULT_SINK@ | sed -En "/no/ s/.*/$($sink_volume)/p; /yes/ s/.*/0/p")
|
||||
set $mic_mute $(pactl set-source-mute @DEFAULT_SOURCE@ toggle && pactl get-source-mute @DEFAULT_SOURCE@ | sed -En "/no/ s/.*/$($source_volume)/p; /yes/ s/.*/0/p")
|
||||
|
||||
# Your preferred terminal emulators
|
||||
set $term-float foot
|
||||
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
# on the original workspace that the command was run on.
|
||||
set $menu wofi -c ~/.config/wofi/config -I
|
||||
|
||||
set $powermenu ~/.config/waybar/scripts/power-menu.sh
|
||||
|
||||
### Idle configuration
|
||||
exec swayidle -w\
|
||||
# timeout 1130 'swaylock -C ~/.config/swaylock/config --grace 28 --effect-blur 2x10 --fade-in 0.3'\
|
||||
timeout 600 'exec systemctl suspend'\
|
||||
before-sleep 'swaylock -C ~/.config/swaylock/config' --grace 10 --effect-blur 2x10 --fade-in 0.3'
|
||||
|
||||
# This will lock the screen after 9m and 30s of inactivity, but with a 30 second
|
||||
# grace period, during which any input will stop the system from suspending.
|
||||
# Otherwise, the system locks the screen as it enters suspend.
|
||||
|
||||
## Lock Screen
|
||||
bindsym $mod+f1 exec ~/.config/sway/scripts/lockman.sh
|
||||
|
||||
### Key bindings
|
||||
#
|
||||
# Basics:
|
||||
#
|
||||
# Start a floating terminal
|
||||
bindsym $mod+Return exec $term-float
|
||||
|
||||
# Open the power menu
|
||||
bindsym $mod+Shift+Escape exec $powermenu
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+q kill
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Activities
|
||||
#bindsym $mod+p exec ~/.config/wofi/windows.py
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
# your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# Or use $mod+[up|down|left|right]
|
||||
|
||||
# bindsym $mod+Left focus left
|
||||
# bindsym $mod+Down focus down
|
||||
# bindsym $mod+Up focus up
|
||||
# bindsym $mod+Right focus right
|
||||
|
||||
# Move the focused window with the same, but add Shift
|
||||
# bindsym $mod+Shift+$left move left
|
||||
# bindsym $mod+Shift+$down move down
|
||||
# bindsym $mod+Shift+$up move up
|
||||
# bindsym $mod+Shift+$right move right
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Left move left
|
||||
bindsym $mod+Down move down
|
||||
bindsym $mod+Up move up
|
||||
bindsym $mod+Right move right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace number 1
|
||||
bindsym $mod+2 workspace number 2
|
||||
bindsym $mod+3 workspace number 3
|
||||
bindsym $mod+4 workspace number 4
|
||||
bindsym $mod+5 workspace number 5
|
||||
bindsym $mod+6 workspace number 6
|
||||
bindsym $mod+7 workspace number 7
|
||||
bindsym $mod+8 workspace number 8
|
||||
bindsym $mod+9 workspace number 9
|
||||
bindsym $mod+0 workspace number 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number 1
|
||||
bindsym $mod+Shift+2 move container to workspace number 2
|
||||
bindsym $mod+Shift+3 move container to workspace number 3
|
||||
bindsym $mod+Shift+4 move container to workspace number 4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+6 move container to workspace number 6
|
||||
bindsym $mod+Shift+7 move container to workspace number 7
|
||||
bindsym $mod+Shift+8 move container to workspace number 8
|
||||
bindsym $mod+Shift+9 move container to workspace number 9
|
||||
bindsym $mod+Shift+0 move container to workspace number 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+h splith
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+Shift+s layout stacking
|
||||
bindsym $mod+Shift+t layout tabbed
|
||||
bindsym $mod+Shift+r layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# bindsym $mod+g exec ~/.config/sway/scripts/scale.sh inc
|
||||
# bindsym $mod+m exec ~/.config/sway/scripts/scale.sh dec
|
||||
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym $left resize shrink width 50px
|
||||
bindsym $right resize grow width 50px
|
||||
bindsym $up resize shrink height 50px
|
||||
bindsym $down resize grow height 50px
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 50px
|
||||
bindsym Right resize grow width 50px
|
||||
bindsym Up resize shrink height 50px
|
||||
bindsym Down resize grow height 50px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Resize floating windows with mouse scroll:
|
||||
bindsym --whole-window --border $mod+button4 resize shrink height 5 px or 5 ppt
|
||||
bindsym --whole-window --border $mod+button5 resize grow height 5 px or 5 ppt
|
||||
bindsym --whole-window --border $mod+Shift+button4 resize shrink width 5 px or 5 ppt
|
||||
bindsym --whole-window --border $mod+Shift+button5 resize grow width 5 px or 5 ppt
|
||||
|
||||
#
|
||||
# Volume
|
||||
#
|
||||
# Control volume trough pamixer
|
||||
# bindsym --locked XF86AudioRaiseVolume exec pamixer -ui 2
|
||||
# bindsym --locked XF86AudioLowerVolume exec pamixer -ud 2
|
||||
# bindsym --locked XF86AudioMute exec pamixer -t
|
||||
|
||||
# Control volume directly trough pactl
|
||||
bindsym --locked XF86AudioRaiseVolume exec $volume_up
|
||||
bindsym --locked XF86AudioLowerVolume exec $volume_down
|
||||
bindsym --locked XF86AudioMute exec $volume_mute
|
||||
#
|
||||
# Player
|
||||
#
|
||||
bindsym XF86AudioPlay exec playerctl play
|
||||
bindsym XF86AudioPause exec playerctl pause
|
||||
bindsym XF86AudioNext exec playerctl next
|
||||
bindsym XF86AudioPrev exec playerctl previous
|
||||
#
|
||||
# Backlight
|
||||
#
|
||||
bindsym XF86MonBrightnessUp exec brightnessctl -c backlight set +5%
|
||||
bindsym XF86MonBrightnessDown exec brightnessctl -c backlight set 5%-
|
||||
#
|
||||
# App shortcuts
|
||||
#
|
||||
bindsym $mod+t exec thunar
|
||||
bindsym $mod+w exec firefox
|
||||
bindsym $mod+j exec obsidian & ~/Documents/Obsidian Vault/auto-add.sh
|
||||
#
|
||||
# Screenshots
|
||||
#
|
||||
bindsym $mod+Shift+p exec ~/.config/sway/scripts/screenshot.sh clipboard
|
||||
bindsym $mod+p exec ~/.config/sway/scripts/screenshot.sh
|
||||
#
|
||||
# Keybindings List
|
||||
#
|
||||
#bindsym $mod+t exec xed ~/.config/sway/cheatsheet
|
@ -1,30 +0,0 @@
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Put your touchpad's ID to replace "Touchpad-ID" (keep the quotation marks)
|
||||
|
||||
input type:touchpad {
|
||||
dwt enabled
|
||||
tap enabled
|
||||
natural_scroll enabled
|
||||
}
|
||||
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
#
|
||||
#input type:keyboard xkb_layout "us"
|
||||
input * {
|
||||
xkb_layout "us"
|
||||
# xkb_variant "colemak_dh"
|
||||
# xkb_options "ctrl:nocaps"
|
||||
}
|
||||
|
||||
input type:keyboard {
|
||||
repeat_rate 40
|
||||
repeat_delay 175
|
||||
}
|
||||
|
||||
exec_always {
|
||||
'swaymsg input type:keyboard xkb_layout "$(localectl status | grep "X11 Layout" | sed -e "s/^.*X11 Layout://")"'
|
||||
'swaymsg input type:keyboard xkb_variant "$(localectl status | grep "X11 Variant" | sed -e "s/^.*X11 Variant://")"'
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
### Output configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||
#
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
#
|
||||
# Wacom Tablet - Example
|
||||
# input "1386:884:Wacom_Intuos_S_Pad" map_to_output HDMI-A-1
|
||||
# input "1386:884:Wacom_Intuos_S_Pen" map_to_output HDMI-A-1
|
||||
output DP-3 resolution 3840x2160@240.084Hz position 0,0
|
||||
output * adaptive_sync off
|
@ -1,103 +0,0 @@
|
||||
# Apply gtk theming
|
||||
exec_always ~/.config/sway/scripts/import-gsettings
|
||||
|
||||
set $rosewater #f4dbd6
|
||||
set $flamingo #f0c6c6
|
||||
set $pink #f5bde6
|
||||
set $mauve #c6a0f6
|
||||
set $red #ed8796
|
||||
set $maroon #ee99a0
|
||||
set $peach #f5a97f
|
||||
set $green #a6da95
|
||||
set $teal #8bd5ca
|
||||
set $sky #91d7e3
|
||||
set $sapphire #7dc4e4
|
||||
set $blue #8aadf4
|
||||
set $lavender #b7bdf8
|
||||
set $text #cad3f5
|
||||
set $subtext1 #b8c0e0
|
||||
set $subtext0 #a5adcb
|
||||
set $overlay2 #939ab7
|
||||
set $overlay1 #8087a2
|
||||
set $overlay0 #6e738d
|
||||
set $surface2 #5b6078
|
||||
set $surface1 #494d64
|
||||
set $surface0 #363a4f
|
||||
set $base #24273a
|
||||
set $mantle #1e2030
|
||||
set $crust #181926
|
||||
|
||||
# Set inner/outer gaps
|
||||
gaps inner 6
|
||||
gaps outer 4
|
||||
|
||||
# Hide titlebar on windows:
|
||||
default_border pixel 2
|
||||
|
||||
# Default Font
|
||||
font pango:Overpass Nerd Font 12
|
||||
|
||||
# Thin borders:
|
||||
smart_borders on
|
||||
|
||||
# Set wallpaper:
|
||||
exec_always swaybg -i /home/nate/.config/sway/wallpapers/nix-black-4k.png
|
||||
# exec_always /home/nate/.config/sway/scripts/background.sh
|
||||
|
||||
# Title format for windows
|
||||
for_window [shell="xdg_shell"] title_format "%title (%app_id)"
|
||||
for_window [shell="x_wayland"] title_format "%class - %title"
|
||||
|
||||
# class border bground text indicator child_border
|
||||
# client.focused #e5e9f0 #e5e9f0 #3b4252 #e5e9f0 #e5e9f0
|
||||
# client.focused_inactive #5e81ac #5e81ac #eceff4 #5e81ac #3b4252
|
||||
# client.unfocused #3b4252 #3b4252 #BFBFBF #3b4252 #3b4252
|
||||
# client.urgent #d08770 #d08770 #eceff4 #d08770 #d08770
|
||||
# client.placeholder #282A36 #282A36 #eceff4 #282A36 #282A36
|
||||
# client.background #F8F8F2
|
||||
|
||||
|
||||
client.focused $flamingo $base $text $rosewater $flamingo
|
||||
client.focused_inactive $overlay0 $base $text $rosewater $overlay0
|
||||
client.unfocused $overlay0 $base $text $rosewater $overlay0
|
||||
client.urgent $peach $base $peach $overlay0 $peach
|
||||
client.placeholder $overlay0 $base $text $overlay0 $overlay0
|
||||
client.background $base
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
swaybar_command waybar
|
||||
}
|
||||
|
||||
set $opacity 0.8
|
||||
set $floating_window floating enable, resize set width 1030 height 710, opacity 1.0
|
||||
|
||||
for_window {
|
||||
[class=".*"] opacity 1.0
|
||||
[app_id=".*"] opacity 1.0
|
||||
[app_id="foot"] opacity $opacity
|
||||
[app_id="thunar"] opacity $opacity
|
||||
|
||||
# Steam
|
||||
[class="steam_app.*"] inhibit_idle fullscreen; floating enable; border none opacity 1.0
|
||||
[class="steam"] opacity 1.0
|
||||
|
||||
# Godot windows
|
||||
[title="(?:Create New|Select Frames|project.godot|node)"] $floating_window
|
||||
[title="(?:Create Folder|Node Configuration|Warning|Please Confirm)"] $floating_window, resize set height 200
|
||||
|
||||
# Aseprite
|
||||
[title="(?:Aseprite)"] opacity 1.0
|
||||
|
||||
# Floating windows
|
||||
[title="(?:Open|Save|Save New|Open a) (?:File|Folder|As|Scene As)"] $floating_window
|
||||
[window_role="pop-up"] $floating_window
|
||||
[window_role="bubble"] $floating_window
|
||||
[window_role="task_dialog"] $floating_window
|
||||
[window_role="Preferences"] $floating_window
|
||||
[window_type="dialog"] $floating_window
|
||||
[window_type="menu"] $floating_window
|
||||
[window_role="About"] $floating_window
|
||||
}
|
@ -1,457 +0,0 @@
|
||||
! layout
|
||||
us USA
|
||||
ad Andorra
|
||||
af Afghanistan
|
||||
ara Arabic
|
||||
al Albania
|
||||
am Armenia
|
||||
az Azerbaijan
|
||||
by Belarus
|
||||
be Belgium
|
||||
bd Bangladesh
|
||||
in India
|
||||
ba Bosnia and Herzegovina
|
||||
br Brazil
|
||||
bg Bulgaria
|
||||
ma Morocco
|
||||
mm Myanmar
|
||||
ca Canada
|
||||
cd Congo, Democratic Republic of the
|
||||
cn China
|
||||
hr Croatia
|
||||
cz Czechia
|
||||
dk Denmark
|
||||
nl Netherlands
|
||||
bt Bhutan
|
||||
ee Estonia
|
||||
ir Iran
|
||||
iq Iraq
|
||||
fo Faroe Islands
|
||||
fi Finland
|
||||
fr France
|
||||
gh Ghana
|
||||
gn Guinea
|
||||
ge Georgia
|
||||
de Germany
|
||||
gr Greece
|
||||
hu Hungary
|
||||
is Iceland
|
||||
il Israel
|
||||
it Italy
|
||||
jp Japan
|
||||
kg Kyrgyzstan
|
||||
kh Cambodia
|
||||
kz Kazakhstan
|
||||
la Laos
|
||||
latam Latin American
|
||||
lt Lithuania
|
||||
lv Latvia
|
||||
mao Maori
|
||||
me Montenegro
|
||||
mk Macedonia
|
||||
mt Malta
|
||||
mn Mongolia
|
||||
no Norway
|
||||
pl Poland
|
||||
pt Portugal
|
||||
ro Romania
|
||||
ru Russia
|
||||
rs Serbia
|
||||
si Slovenia
|
||||
sk Slovakia
|
||||
es Spain
|
||||
se Sweden
|
||||
ch Switzerland
|
||||
sy Syria
|
||||
tj Tajikistan
|
||||
lk Sri Lanka
|
||||
th Thailand
|
||||
tr Turkey
|
||||
tw Taiwan
|
||||
ua Ukraine
|
||||
gb United Kingdom
|
||||
uz Uzbekistan
|
||||
vn Vietnam
|
||||
kr Korea, Republic of
|
||||
nec_vndr/jp Japan (PC-98xx Series)
|
||||
ie Ireland
|
||||
pk Pakistan
|
||||
mv Maldives
|
||||
za South Africa
|
||||
epo Esperanto
|
||||
np Nepal
|
||||
ng Nigeria
|
||||
et Ethiopia
|
||||
sn Senegal
|
||||
brai Braille
|
||||
tm Turkmenistan
|
||||
ml Mali
|
||||
tz Tanzania
|
||||
|
||||
! variant
|
||||
chr us: Cherokee
|
||||
euro us: With EuroSign on 5
|
||||
intl us: International (with dead keys)
|
||||
alt-intl us: Alternative international (former us_intl)
|
||||
colemak us: Colemak
|
||||
dvorak us: Dvorak
|
||||
dvorak-intl us: Dvorak international
|
||||
dvorak-l us: Left handed Dvorak
|
||||
dvorak-r us: Right handed Dvorak
|
||||
dvorak-classic us: Classic Dvorak
|
||||
dvp us: Programmer Dvorak
|
||||
rus us: Russian phonetic
|
||||
mac us: Macintosh
|
||||
altgr-intl us: International (AltGr dead keys)
|
||||
olpc2 us: Group toggle on multiply/divide key
|
||||
srp us: Serbian
|
||||
ps af: Pashto
|
||||
uz af: Southern Uzbek
|
||||
olpc-ps af: OLPC Pashto
|
||||
olpc-fa af: OLPC Dari
|
||||
olpc-uz af: OLPC Southern Uzbek
|
||||
azerty ara: azerty
|
||||
azerty_digits ara: azerty/digits
|
||||
digits ara: digits
|
||||
qwerty ara: qwerty
|
||||
qwerty_digits ara: qwerty/digits
|
||||
buckwalter ara: Buckwalter
|
||||
phonetic am: Phonetic
|
||||
phonetic-alt am: Alternative Phonetic
|
||||
eastern am: Eastern
|
||||
western am: Western
|
||||
eastern-alt am: Alternative Eastern
|
||||
cyrillic az: Cyrillic
|
||||
legacy by: Legacy
|
||||
latin by: Latin
|
||||
oss be: Alternative
|
||||
oss_latin9 be: Alternative, latin-9 only
|
||||
oss_sundeadkeys be: Alternative, Sun dead keys
|
||||
iso-alternate be: ISO Alternate
|
||||
nodeadkeys be: Eliminate dead keys
|
||||
sundeadkeys be: Sun dead keys
|
||||
wang be: Wang model 724 azerty
|
||||
probhat bd: Probhat
|
||||
ben in: Bengali
|
||||
ben_probhat in: Bengali Probhat
|
||||
guj in: Gujarati
|
||||
guru in: Gurmukhi
|
||||
jhelum in: Gurmukhi Jhelum
|
||||
kan in: Kannada
|
||||
mal in: Malayalam
|
||||
mal_lalitha in: Malayalam Lalitha
|
||||
ori in: Oriya
|
||||
tam_unicode in: Tamil Unicode
|
||||
tam_keyboard_with_numerals in: Tamil Keyboard with Numerals
|
||||
tam_TAB in: Tamil TAB Typewriter
|
||||
tam_TSCII in: Tamil TSCII Typewriter
|
||||
tam in: Tamil
|
||||
tel in: Telugu
|
||||
urd-phonetic in: Urdu, Phonetic
|
||||
urd-phonetic3 in: Urdu, Alternative phonetic
|
||||
urd-winkeys in: Urdu, Winkeys
|
||||
bolnagri in: Hindi Bolnagri
|
||||
hin-wx in: Hindi Wx
|
||||
alternatequotes ba: Use guillemets for quotes
|
||||
unicode ba: Use Bosnian digraphs
|
||||
unicodeus ba: US keyboard with Bosnian digraphs
|
||||
us ba: US keyboard with Bosnian letters
|
||||
nodeadkeys br: Eliminate dead keys
|
||||
dvorak br: Dvorak
|
||||
nativo br: Nativo
|
||||
nativo-us br: Nativo for USA keyboards
|
||||
nativo-epo br: Nativo for Esperanto
|
||||
phonetic bg: Traditional phonetic
|
||||
bas_phonetic bg: New phonetic
|
||||
french ma: French
|
||||
tifinagh ma: Tifinagh
|
||||
tifinagh-alt ma: Tifinagh Alternative
|
||||
tifinagh-alt-phonetic ma: Tifinagh Alternative Phonetic
|
||||
tifinagh-extended ma: Tifinagh Extended
|
||||
tifinagh-phonetic ma: Tifinagh Phonetic
|
||||
tifinagh-extended-phonetic ma: Tifinagh Extended Phonetic
|
||||
fr-dvorak ca: French Dvorak
|
||||
fr-legacy ca: French (legacy)
|
||||
multix ca: Multilingual
|
||||
multi ca: Multilingual, first part
|
||||
multi-2gr ca: Multilingual, second part
|
||||
ike ca: Inuktitut
|
||||
shs ca: Secwepemctsin
|
||||
kut ca: Ktunaxa
|
||||
eng ca: English
|
||||
tib cn: Tibetan
|
||||
tib_asciinum cn: Tibetan (with ASCII numerals)
|
||||
alternatequotes hr: Use guillemets for quotes
|
||||
unicode hr: Use Croatian digraphs
|
||||
unicodeus hr: US keyboard with Croatian digraphs
|
||||
us hr: US keyboard with Croatian letters
|
||||
bksl cz: With <\|> key
|
||||
qwerty cz: qwerty
|
||||
qwerty_bksl cz: qwerty, extended Backslash
|
||||
ucw cz: UCW layout (accented letters only)
|
||||
dvorak-ucw cz: US Dvorak with CZ UCW support
|
||||
nodeadkeys dk: Eliminate dead keys
|
||||
mac dk: Macintosh
|
||||
mac_nodeadkeys dk: Macintosh, eliminate dead keys
|
||||
dvorak dk: Dvorak
|
||||
sundeadkeys nl: Sun dead keys
|
||||
mac nl: Macintosh
|
||||
std nl: Standard
|
||||
nodeadkeys ee: Eliminate dead keys
|
||||
dvorak ee: Dvorak
|
||||
us ee: US keyboard with Estonian letters
|
||||
pes_keypad ir: Persian, with Persian Keypad
|
||||
ku ir: Kurdish, Latin Q
|
||||
ku_f ir: Kurdish, (F)
|
||||
ku_alt ir: Kurdish, Latin Alt-Q
|
||||
ku_ara ir: Kurdish, Arabic-Latin
|
||||
ku iq: Kurdish, Latin Q
|
||||
ku_f iq: Kurdish, (F)
|
||||
ku_alt iq: Kurdish, Latin Alt-Q
|
||||
ku_ara iq: Kurdish, Arabic-Latin
|
||||
nodeadkeys fo: Eliminate dead keys
|
||||
nodeadkeys fi: Eliminate dead keys
|
||||
smi fi: Northern Saami
|
||||
classic fi: Classic
|
||||
mac fi: Macintosh
|
||||
nodeadkeys fr: Eliminate dead keys
|
||||
sundeadkeys fr: Sun dead keys
|
||||
oss fr: Alternative
|
||||
oss_latin9 fr: Alternative, latin-9 only
|
||||
oss_nodeadkeys fr: Alternative, eliminate dead keys
|
||||
oss_sundeadkeys fr: Alternative, Sun dead keys
|
||||
latin9 fr: (Legacy) Alternative
|
||||
latin9_nodeadkeys fr: (Legacy) Alternative, eliminate dead keys
|
||||
latin9_sundeadkeys fr: (Legacy) Alternative, Sun dead keys
|
||||
bepo fr: Bepo, ergonomic, Dvorak way
|
||||
bepo_latin9 fr: Bepo, ergonomic, Dvorak way, latin-9 only
|
||||
dvorak fr: Dvorak
|
||||
mac fr: Macintosh
|
||||
bre fr: Breton
|
||||
oci fr: Occitan
|
||||
geo fr: Georgian AZERTY Tskapo
|
||||
generic gh: Multilingual
|
||||
akan gh: Akan
|
||||
ewe gh: Ewe
|
||||
fula gh: Fula
|
||||
ga gh: Ga
|
||||
hausa gh: Hausa
|
||||
ergonomic ge: Ergonomic
|
||||
mess ge: MESS
|
||||
ru ge: Russian
|
||||
os ge: Ossetian
|
||||
deadacute de: Dead acute
|
||||
deadgraveacute de: Dead grave acute
|
||||
nodeadkeys de: Eliminate dead keys
|
||||
ro de: Romanian keyboard with German letters
|
||||
ro_nodeadkeys de: Romanian keyboard with German letters, eliminate dead keys
|
||||
dvorak de: Dvorak
|
||||
sundeadkeys de: Sun dead keys
|
||||
neo de: Neo 2
|
||||
mac de: Macintosh
|
||||
mac_nodeadkeys de: Macintosh, eliminate dead keys
|
||||
dsb de: Lower Sorbian
|
||||
dsb_qwertz de: Lower Sorbian (qwertz)
|
||||
qwerty de: qwerty
|
||||
simple gr: Simple
|
||||
extended gr: Extended
|
||||
nodeadkeys gr: Eliminate dead keys
|
||||
polytonic gr: Polytonic
|
||||
standard hu: Standard
|
||||
nodeadkeys hu: Eliminate dead keys
|
||||
qwerty hu: qwerty
|
||||
101_qwertz_comma_dead hu: 101/qwertz/comma/Dead keys
|
||||
101_qwertz_comma_nodead hu: 101/qwertz/comma/Eliminate dead keys
|
||||
101_qwertz_dot_dead hu: 101/qwertz/dot/Dead keys
|
||||
101_qwertz_dot_nodead hu: 101/qwertz/dot/Eliminate dead keys
|
||||
101_qwerty_comma_dead hu: 101/qwerty/comma/Dead keys
|
||||
101_qwerty_comma_nodead hu: 101/qwerty/comma/Eliminate dead keys
|
||||
101_qwerty_dot_dead hu: 101/qwerty/dot/Dead keys
|
||||
101_qwerty_dot_nodead hu: 101/qwerty/dot/Eliminate dead keys
|
||||
102_qwertz_comma_dead hu: 102/qwertz/comma/Dead keys
|
||||
102_qwertz_comma_nodead hu: 102/qwertz/comma/Eliminate dead keys
|
||||
102_qwertz_dot_dead hu: 102/qwertz/dot/Dead keys
|
||||
102_qwertz_dot_nodead hu: 102/qwertz/dot/Eliminate dead keys
|
||||
102_qwerty_comma_dead hu: 102/qwerty/comma/Dead keys
|
||||
102_qwerty_comma_nodead hu: 102/qwerty/comma/Eliminate dead keys
|
||||
102_qwerty_dot_dead hu: 102/qwerty/dot/Dead keys
|
||||
102_qwerty_dot_nodead hu: 102/qwerty/dot/Eliminate dead keys
|
||||
Sundeadkeys is: Sun dead keys
|
||||
nodeadkeys is: Eliminate dead keys
|
||||
mac is: Macintosh
|
||||
dvorak is: Dvorak
|
||||
lyx il: lyx
|
||||
phonetic il: Phonetic
|
||||
biblical il: Biblical Hebrew (Tiro)
|
||||
nodeadkeys it: Eliminate dead keys
|
||||
mac it: Macintosh
|
||||
us it: US keyboard with Italian letters
|
||||
geo it: Georgian
|
||||
kana jp: Kana
|
||||
OADG109A jp: OADG 109A
|
||||
mac jp: Macintosh
|
||||
phonetic kg: Phonetic
|
||||
ruskaz kz: Russian with Kazakh
|
||||
kazrus kz: Kazakh with Russian
|
||||
basic la: Laos
|
||||
stea la: Laos - STEA (proposed standard layout)
|
||||
nodeadkeys latam: Eliminate dead keys
|
||||
deadtilde latam: Include dead tilde
|
||||
sundeadkeys latam: Sun dead keys
|
||||
std lt: Standard
|
||||
us lt: US keyboard with Lithuanian letters
|
||||
ibm lt: IBM (LST 1205-92)
|
||||
lekp lt: LEKP
|
||||
lekpa lt: LEKPa
|
||||
apostrophe lv: Apostrophe (') variant
|
||||
tilde lv: Tilde (~) variant
|
||||
fkey lv: F-letter (F) variant
|
||||
cyrillic me: Cyrillic
|
||||
cyrillicyz me: Cyrillic, Z and ZHE swapped
|
||||
latinunicode me: Latin unicode
|
||||
latinyz me: Latin qwerty
|
||||
latinunicodeyz me: Latin unicode qwerty
|
||||
cyrillicalternatequotes me: Cyrillic with guillemets
|
||||
latinalternatequotes me: Latin with guillemets
|
||||
nodeadkeys mk: Eliminate dead keys
|
||||
us mt: Maltese keyboard with US layout
|
||||
nodeadkeys no: Eliminate dead keys
|
||||
dvorak no: Dvorak
|
||||
smi no: Northern Saami
|
||||
smi_nodeadkeys no: Northern Saami, eliminate dead keys
|
||||
mac no: Macintosh
|
||||
mac_nodeadkeys no: Macintosh, eliminate dead keys
|
||||
qwertz pl: qwertz
|
||||
dvorak pl: Dvorak
|
||||
dvorak_quotes pl: Dvorak, Polish quotes on quotemark key
|
||||
dvorak_altquotes pl: Dvorak, Polish quotes on key 1
|
||||
csb pl: Kashubian
|
||||
ru_phonetic_dvorak pl: Russian phonetic Dvorak
|
||||
dvp pl: Programmer Dvorak
|
||||
nodeadkeys pt: Eliminate dead keys
|
||||
sundeadkeys pt: Sun dead keys
|
||||
mac pt: Macintosh
|
||||
mac_nodeadkeys pt: Macintosh, eliminate dead keys
|
||||
mac_sundeadkeys pt: Macintosh, Sun dead keys
|
||||
nativo pt: Nativo
|
||||
nativo-us pt: Nativo for USA keyboards
|
||||
nativo-epo pt: Nativo for Esperanto
|
||||
cedilla ro: Cedilla
|
||||
std ro: Standard
|
||||
std_cedilla ro: Standard (Cedilla)
|
||||
winkeys ro: Winkeys
|
||||
crh_f ro: Crimean Tatar (Turkish F)
|
||||
crh_alt ro: Crimean Tatar (Turkish Alt-Q)
|
||||
crh_dobruca1 ro: Crimean Tatar (Dobruca-1 Q)
|
||||
crh_dobruca2 ro: Crimean Tatar (Dobruca-2 Q)
|
||||
phonetic ru: Phonetic
|
||||
phonetic_winkeys ru: Phonetic Winkeys
|
||||
typewriter ru: Typewriter
|
||||
legacy ru: Legacy
|
||||
typewriter-legacy ru: Typewriter, legacy
|
||||
tt ru: Tatar
|
||||
os_legacy ru: Ossetian, legacy
|
||||
os_winkeys ru: Ossetian, Winkeys
|
||||
cv ru: Chuvash
|
||||
cv_latin ru: Chuvash Latin
|
||||
udm ru: Udmurt
|
||||
kom ru: Komi
|
||||
sah ru: Yakut
|
||||
xal ru: Kalmyk
|
||||
dos ru: DOS
|
||||
srp ru: Serbian
|
||||
bak ru: Bashkirian
|
||||
yz rs: Z and ZHE swapped
|
||||
latin rs: Latin
|
||||
latinunicode rs: Latin Unicode
|
||||
latinyz rs: Latin qwerty
|
||||
latinunicodeyz rs: Latin Unicode qwerty
|
||||
alternatequotes rs: With guillemets
|
||||
latinalternatequotes rs: Latin with guillemets
|
||||
alternatequotes si: Use guillemets for quotes
|
||||
us si: US keyboard with Slovenian letters
|
||||
bksl sk: Extended Backslash
|
||||
qwerty sk: qwerty
|
||||
qwerty_bksl sk: qwerty, extended Backslash
|
||||
nodeadkeys es: Eliminate dead keys
|
||||
deadtilde es: Include dead tilde
|
||||
sundeadkeys es: Sun dead keys
|
||||
dvorak es: Dvorak
|
||||
ast es: Asturian variant with bottom-dot H and bottom-dot L
|
||||
cat es: Catalan variant with middle-dot L
|
||||
mac es: Macintosh
|
||||
nodeadkeys se: Eliminate dead keys
|
||||
dvorak se: Dvorak
|
||||
rus se: Russian phonetic
|
||||
rus_nodeadkeys se: Russian phonetic, eliminate dead keys
|
||||
smi se: Northern Saami
|
||||
mac se: Macintosh
|
||||
svdvorak se: Svdvorak
|
||||
legacy ch: Legacy
|
||||
de_nodeadkeys ch: German, eliminate dead keys
|
||||
de_sundeadkeys ch: German, Sun dead keys
|
||||
fr ch: French
|
||||
fr_nodeadkeys ch: French, eliminate dead keys
|
||||
fr_sundeadkeys ch: French, Sun dead keys
|
||||
fr_mac ch: French (Macintosh)
|
||||
de_mac ch: German (Macintosh)
|
||||
syc sy: Syriac
|
||||
syc_phonetic sy: Syriac phonetic
|
||||
ku sy: Kurdish, Latin Q
|
||||
ku_f sy: Kurdish, (F)
|
||||
ku_alt sy: Kurdish, Latin Alt-Q
|
||||
legacy tj: Legacy
|
||||
tam_unicode lk: Tamil Unicode
|
||||
tam_TAB lk: Tamil TAB Typewriter
|
||||
tis th: TIS-820.2538
|
||||
pat th: Pattachote
|
||||
f tr: (F)
|
||||
alt tr: Alt-Q
|
||||
sundeadkeys tr: Sun dead keys
|
||||
ku tr: Kurdish, Latin Q
|
||||
ku_f tr: Kurdish, (F)
|
||||
ku_alt tr: Kurdish, Latin Alt-Q
|
||||
intl tr: International (with dead keys)
|
||||
crh tr: Crimean Tatar (Turkish Q)
|
||||
crh_f tr: Crimean Tatar (Turkish F)
|
||||
crh_alt tr: Crimean Tatar (Turkish Alt-Q)
|
||||
indigenous tw: Indigenous
|
||||
saisiyat tw: Saisiyat
|
||||
phonetic ua: Phonetic
|
||||
typewriter ua: Typewriter
|
||||
winkeys ua: Winkeys
|
||||
legacy ua: Legacy
|
||||
rstu ua: Standard RSTU
|
||||
rstu_ru ua: Standard RSTU on Russian layout
|
||||
homophonic ua: Homophonic
|
||||
crh ua: Crimean Tatar (Turkish Q)
|
||||
crh_f ua: Crimean Tatar (Turkish F)
|
||||
crh_alt ua: Crimean Tatar (Turkish Alt-Q)
|
||||
extd gb: Extended - Winkeys
|
||||
intl gb: International (with dead keys)
|
||||
dvorak gb: Dvorak
|
||||
dvorakukp gb: Dvorak (UK Punctuation)
|
||||
mac gb: Macintosh
|
||||
colemak gb: Colemak
|
||||
latin uz: Latin
|
||||
crh uz: Crimean Tatar (Turkish Q)
|
||||
crh_f uz: Crimean Tatar (Turkish F)
|
||||
crh_alt uz: Crimean Tatar (Turkish Alt-Q)
|
||||
kr104 kr: 101/104 key Compatible
|
||||
CloGaelach ie: CloGaelach
|
||||
UnicodeExpert ie: UnicodeExpert
|
||||
ogam ie: Ogham
|
||||
ogam_is434 ie: Ogham IS434
|
||||
urd-crulp pk: CRULP
|
||||
urd-nla pk: NLA
|
||||
ara pk: Arabic
|
||||
legacy epo: displaced semicolon and quote (obsolete)
|
||||
igbo ng: Igbo
|
||||
yoruba ng: Yoruba
|
||||
hausa ng: Hausa
|
||||
left_hand brai: Left hand
|
||||
right_hand brai: Right hand
|
||||
alt tm: Alt-Q
|
||||
fr-oss ml: Français (France Alternative)
|
||||
us-mac ml: English (USA Macintosh)
|
||||
us-intl ml: English (USA International)
|
@ -1 +0,0 @@
|
||||
4639
|
@ -1,30 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
PID_FILE="background.pid"
|
||||
WP_LOC="/home/nate/.config/sway/wallpapers"
|
||||
PREV_WP=""
|
||||
NEW_WP=$(ls $WP_LOC | sort -R | tail -n 1)
|
||||
transition[0]="any"
|
||||
transition[1]="wave"
|
||||
transition[2]="outer"
|
||||
transition[3]="wipe"
|
||||
transition[4]="center"
|
||||
size=${#transition[@]}
|
||||
|
||||
swww kill
|
||||
|
||||
swww init
|
||||
|
||||
# echo $(pgrep -f background.sh) > $PID_FILE
|
||||
|
||||
while true
|
||||
do
|
||||
while [[ $PREV_WP == $NEW_WP ]]
|
||||
do
|
||||
NEW_WP=$(ls $WP_LOC | sort -R | tail -n 1)
|
||||
done
|
||||
index=$(($RANDOM % $size))
|
||||
#echo "Picked $WP_LOC/$NEW_WP with effect ${transition[$index]}"
|
||||
swww img $WP_LOC/$NEW_WP --transition-type ${transition[$index]}
|
||||
PREV_WP=$NEW_WP
|
||||
sleep 120
|
||||
done
|
@ -1,6 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
if cat /proc/acpi/button/lid/*/state | grep -q open; then
|
||||
swaymsg output eDP-1 enable
|
||||
else
|
||||
swaymsg output eDP-1 disable
|
||||
fi
|
@ -1,15 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# usage: import-gsettings
|
||||
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
||||
if [ ! -f "$config" ]; then exit 1; fi
|
||||
|
||||
gnome_schema="org.gnome.desktop.interface"
|
||||
gtk_theme="$(grep 'gtk-theme-name' "$config" | cut -d'=' -f2)"
|
||||
icon_theme="$(grep 'gtk-icon-theme-name' "$config" | cut -d'=' -f2)"
|
||||
cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | cut -d'=' -f2)"
|
||||
font_name="$(grep 'gtk-font-name' "$config" | cut -d'=' -f2)"
|
||||
gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
|
||||
gsettings set "$gnome_schema" icon-theme "$icon_theme"
|
||||
gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
|
||||
gsettings set "$gnome_schema" font-name "$font_name"
|
@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Times the screen off and puts it to background
|
||||
swayidle \
|
||||
timeout 300 'swaymsg "output * power off"' \
|
||||
resume 'swaymsg "output * power on"' &
|
||||
# Locks the screen immediately
|
||||
swaylock
|
||||
# Kills last background task so idle timer doesn't keep running
|
||||
kill %%
|
@ -1,32 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SCALE_FILE="scale.txt"
|
||||
DIRNAME="/tmp/$(ls /tmp | grep scale.sh | head -n 1)"
|
||||
CUR_SCALE=$(swaymsg -t get_outputs | grep -oP "scale\": \K\d.\d+")
|
||||
NEW_SCALE=""
|
||||
|
||||
if [[ $DIRNAME == "/tmp/" ]]; then
|
||||
DIRNAME=$(mktemp -d "${TMPDIR:-/tmp/}$(basename $0).XXXXXXXXXXXX")
|
||||
echo $CUR_SCALE > $DIRNAME/$SCALE_FILE
|
||||
else
|
||||
CUR_SCALE=$(cat $DIRNAME/$SCALE_FILE)
|
||||
fi
|
||||
|
||||
if [[ $1 == "inc" ]]; then
|
||||
NEW_SCALE=$(echo $CUR_SCALE + 0.25 | bc)
|
||||
elif [[ $1 == "dec" ]]; then
|
||||
NEW_SCALE=$(echo $CUR_SCALE - 0.25 | bc)
|
||||
else
|
||||
echo "No op provided, pass in 'inc' or 'dec' to change scale"
|
||||
fi
|
||||
|
||||
if [[ $NEW_SCALE < 0.50 ]]; then
|
||||
NEW_SCALE=0.50
|
||||
elif [[ $NEW_SCALE > 2 ]]; then
|
||||
NEW_SCALE=2.00
|
||||
fi
|
||||
|
||||
echo $NEW_SCALE > $DIRNAME/$SCALE_FILE
|
||||
|
||||
notify-send -t 1000 "Scale set to $NEW_SCALE"
|
||||
swaymsg "output * scale $NEW_SCALE"
|
@ -1,33 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
entries="Active Screen Output Area Window"
|
||||
|
||||
selected=$(printf '%s\n' $entries | wofi --style=$HOME/.config/wofi/style.widgets.css --conf=$HOME/.config/wofi/config.screenshot | awk '{print tolower($1)}')
|
||||
|
||||
if [ "$1" == "clipboard" ]; then
|
||||
case $selected in
|
||||
active)
|
||||
grimshot --notify copy active;;
|
||||
screen)
|
||||
grimshot --notify copy screen;;
|
||||
output)
|
||||
grimshot --notify copy output;;
|
||||
area)
|
||||
grimshot --notify copy area;;
|
||||
window)
|
||||
grimshot --notify copy window;;
|
||||
esac
|
||||
else
|
||||
case $selected in
|
||||
active)
|
||||
grimshot --notify save active;;
|
||||
screen)
|
||||
grimshot --notify save screen;;
|
||||
output)
|
||||
grimshot --notify save output;;
|
||||
area)
|
||||
grimshot --notify save area;;
|
||||
window)
|
||||
grimshot --notify save window;;
|
||||
esac
|
||||
fi
|
@ -1,229 +0,0 @@
|
||||
from i3ipc import Connection, Event
|
||||
from threading import Thread
|
||||
from time import sleep
|
||||
|
||||
|
||||
FRAME_T = 0.01 # time taken between each frame of fade
|
||||
|
||||
# transparency values
|
||||
CON_AC = 1 # active window
|
||||
CON_INAC = 0.5 # inactive window
|
||||
FLOAT_AC = 1 # active floating window
|
||||
FLOAT_INAC = 0.5 # inactive floating window
|
||||
BOT_INAC = 0.9 # bottom window
|
||||
|
||||
|
||||
# fade durations
|
||||
FADE_TIME = 0.2
|
||||
ALT_FADE_TIME = 0.1
|
||||
|
||||
CON_OUT = FADE_TIME # window fading out
|
||||
CON_IN = 0.15 # window fading in
|
||||
FLOAT_OUT = ALT_FADE_TIME # floating window fading out
|
||||
FLOAT_IN = ALT_FADE_TIME # floating window fading in
|
||||
BOT_OUT = ALT_FADE_TIME # bottom window fading out
|
||||
BOT_IN = ALT_FADE_TIME # bottom window fading in
|
||||
BOT_SWITCH_IN = FADE_TIME # window becoming bottom window
|
||||
BOT_SWITCH_OUT = FADE_TIME # bottom window becoming window
|
||||
FLOAT_BOT_OUT = FADE_TIME # floating window fading out from bottom
|
||||
FLOAT_BOT_IN = FADE_TIME # floating window fading in from bottom
|
||||
|
||||
|
||||
class Fader:
|
||||
def __init__(self):
|
||||
self.floating_windows = []
|
||||
self.fader_running = False
|
||||
self.fade_queue = []
|
||||
self.fade_data = {}
|
||||
self.bottom_win = None
|
||||
self.old_win = None
|
||||
self.active_win = None
|
||||
|
||||
ipc = Connection()
|
||||
ipc.on(Event.WINDOW_FOCUS, self.on_window_focus)
|
||||
ipc.on(Event.WINDOW_NEW, self.on_window_new)
|
||||
ipc.on(Event.WINDOW_FLOATING, self.on_window_floating)
|
||||
|
||||
for win in ipc.get_tree():
|
||||
if win.type == "floating_con":
|
||||
self.floating_windows.append(win.id)
|
||||
if win.focused:
|
||||
change_opacity(win, FLOAT_AC)
|
||||
self.active_win = win
|
||||
else:
|
||||
change_opacity(win, FLOAT_INAC)
|
||||
elif win.type == "con":
|
||||
if win.focused:
|
||||
self.active_win = win
|
||||
change_opacity(win, CON_AC)
|
||||
else:
|
||||
change_opacity(win, CON_INAC)
|
||||
|
||||
ipc.main()
|
||||
|
||||
def add_fade(self, win, start, target, duration):
|
||||
if not duration:
|
||||
if win.id in self.fade_queue:
|
||||
self.fade_queue.remove(win.id)
|
||||
del self.fade_data[win.id]
|
||||
change_opacity(win, target)
|
||||
return
|
||||
|
||||
if win.id in self.fade_queue:
|
||||
f = self.fade_data[win.id]
|
||||
change = (FRAME_T / duration) * (target - f["opacity"])
|
||||
f["change"] = change
|
||||
f["target"] = target
|
||||
return
|
||||
|
||||
change_opacity(win, start)
|
||||
change = (FRAME_T / duration) * (target - start)
|
||||
fade_data = {"opacity": start, "change": change, "target": target, "win": win}
|
||||
self.fade_queue.append(win.id)
|
||||
self.fade_data[win.id] = fade_data
|
||||
|
||||
def start_fader(self):
|
||||
if not self.fader_running:
|
||||
self.fader_running = True
|
||||
Thread(target=self.fader).start()
|
||||
|
||||
def fader(self):
|
||||
while self.fade_queue:
|
||||
for win_id in self.fade_queue.copy():
|
||||
try:
|
||||
f = self.fade_data[win_id]
|
||||
except KeyError:
|
||||
continue
|
||||
f["opacity"] += f["change"]
|
||||
|
||||
finished = False
|
||||
if f["change"] > 0:
|
||||
if f["opacity"] >= f["target"]:
|
||||
finished = True
|
||||
elif f["opacity"] <= f["target"]:
|
||||
finished = True
|
||||
|
||||
if finished:
|
||||
change_opacity(f["win"], f["target"])
|
||||
try:
|
||||
self.fade_queue.remove(win_id)
|
||||
del self.fade_data[win_id]
|
||||
except (KeyError, ValueError):
|
||||
continue
|
||||
else:
|
||||
change_opacity(f["win"], f["opacity"])
|
||||
|
||||
sleep(FRAME_T)
|
||||
self.fader_running = False
|
||||
|
||||
def on_window_focus(self, ipc, e):
|
||||
if self.active_win.id == e.container.id:
|
||||
return
|
||||
|
||||
if self.active_win.type == "con":
|
||||
if e.container.type == "con":
|
||||
self.add_fade(
|
||||
e.container, CON_INAC,
|
||||
CON_AC, CON_IN)
|
||||
self.add_fade(
|
||||
self.active_win, CON_AC,
|
||||
CON_INAC, CON_OUT)
|
||||
|
||||
else:
|
||||
self.add_fade(
|
||||
e.container, FLOAT_INAC,
|
||||
FLOAT_AC, FLOAT_IN)
|
||||
self.add_fade(
|
||||
self.active_win, CON_AC,
|
||||
BOT_INAC, BOT_OUT)
|
||||
self.bottom_win = self.active_win
|
||||
|
||||
else:
|
||||
if e.container.type == "con":
|
||||
self.add_fade(
|
||||
self.active_win, FLOAT_AC,
|
||||
FLOAT_INAC, FLOAT_BOT_OUT)
|
||||
|
||||
if not self.bottom_win:
|
||||
self.add_fade(
|
||||
e.container, CON_INAC,
|
||||
CON_AC, CON_IN)
|
||||
|
||||
elif e.container.id != self.bottom_win.id:
|
||||
self.add_fade(
|
||||
self.bottom_win, BOT_INAC,
|
||||
CON_INAC, BOT_SWITCH_OUT)
|
||||
self.add_fade(
|
||||
e.container, CON_INAC,
|
||||
CON_AC, BOT_SWITCH_IN)
|
||||
self.bottom_win = e.container
|
||||
|
||||
else:
|
||||
self.add_fade(
|
||||
self.bottom_win, BOT_INAC,
|
||||
CON_AC, BOT_IN)
|
||||
|
||||
else:
|
||||
self.add_fade(
|
||||
self.active_win, FLOAT_AC,
|
||||
FLOAT_INAC, FLOAT_OUT)
|
||||
self.add_fade(
|
||||
e.container, FLOAT_INAC,
|
||||
FLOAT_AC, FLOAT_IN)
|
||||
|
||||
self.start_fader()
|
||||
self.active_win = e.container
|
||||
|
||||
def on_window_new(self, ipc, e):
|
||||
if self.active_win:
|
||||
if self.active_win.type == "con":
|
||||
change_opacity(self.active_win, CON_INAC)
|
||||
else:
|
||||
change_opacity(self.active_win, FLOAT_INAC)
|
||||
|
||||
if self.bottom_win:
|
||||
change_opacity(self.bottom_win, CON_INAC)
|
||||
|
||||
elif self.active_win and self.active_win.type == "con":
|
||||
self.bottom_win = self.active_win
|
||||
change_opacity(self.bottom_win, CON_INAC)
|
||||
|
||||
change_opacity(e.container, CON_AC)
|
||||
self.old_win = self.active_win
|
||||
self.active_win = e.container
|
||||
|
||||
def on_window_floating(self, ipc, e):
|
||||
c_id = e.container.id
|
||||
if c_id not in self.floating_windows:
|
||||
self.floating_windows.append(c_id)
|
||||
|
||||
if self.active_win.id != e.container.id:
|
||||
change_opacity(e.container, FLOAT_INAC)
|
||||
|
||||
else:
|
||||
if self.old_win and self.bottom_win:
|
||||
if self.old_win.type == "con":
|
||||
self.bottom_win = self.old_win
|
||||
change_opacity(self.bottom_win, BOT_INAC)
|
||||
change_opacity(e.container, FLOAT_AC)
|
||||
|
||||
else:
|
||||
self.floating_windows.remove(c_id)
|
||||
if self.active_win.id != e.container.id:
|
||||
change_opacity(e.container, CON_INAC)
|
||||
|
||||
else:
|
||||
if self.old_win and self.old_win.type == "con":
|
||||
change_opacity(self.old_win, CON_INAC)
|
||||
change_opacity(self.active_win, CON_AC)
|
||||
|
||||
self.active_win = e.container
|
||||
|
||||
|
||||
def change_opacity(win, trans):
|
||||
win.command("opacity " + str(trans))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Fader()
|
||||
|
Before Width: | Height: | Size: 221 KiB |
Before Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 218 KiB |
Before Width: | Height: | Size: 772 KiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 344 KiB |
Before Width: | Height: | Size: 591 KiB |
Before Width: | Height: | Size: 138 KiB |
Before Width: | Height: | Size: 68 KiB |
@ -1,38 +0,0 @@
|
||||
image=~/.config/swaylock/lock.png
|
||||
clock
|
||||
indicator
|
||||
ignore-empty-password
|
||||
show-failed-attempts
|
||||
|
||||
font=Overpass Nerd Font Mono
|
||||
timestr=%I:%M %p
|
||||
datestr=%A %b %e
|
||||
|
||||
bs-hl-color=f4dbd6
|
||||
caps-lock-bs-hl-color=f4dbd6
|
||||
caps-lock-key-hl-color=a6da95
|
||||
inside-color=00000000
|
||||
inside-clear-color=00000000
|
||||
inside-caps-lock-color=00000000
|
||||
inside-ver-color=00000000
|
||||
inside-wrong-color=00000000
|
||||
key-hl-color=67bf4a
|
||||
layout-bg-color=00000000
|
||||
layout-border-color=00000000
|
||||
layout-text-color=cad3f5
|
||||
line-color=00000000
|
||||
line-clear-color=00000000
|
||||
line-caps-lock-color=00000000
|
||||
line-ver-color=00000000
|
||||
line-wrong-color=00000000
|
||||
ring-color=b7bdf8
|
||||
ring-clear-color=f4dbd6
|
||||
ring-caps-lock-color=f5a97f
|
||||
ring-ver-color=8aadf4
|
||||
ring-wrong-color=ee99a0
|
||||
separator-color=00000000
|
||||
text-color=363a4f
|
||||
text-clear-color=f4dbd6
|
||||
text-caps-lock-color=f5a97f
|
||||
text-ver-color=8aadf4
|
||||
text-wrong-color=ee99a0
|
@ -1,41 +0,0 @@
|
||||
screenshot
|
||||
effect-pixelate=18
|
||||
effect-vignette=0.7:0.5
|
||||
clock
|
||||
indicator-idle-visible
|
||||
ignore-empty-password
|
||||
show-failed-attempts
|
||||
|
||||
font=Overpass Nerd Font Mono
|
||||
timestr=%I:%M %p
|
||||
datestr=%A %b %e
|
||||
fade-in=0.5
|
||||
|
||||
bs-hl-color=f4dbd6
|
||||
caps-lock-bs-hl-color=f4dbd6
|
||||
caps-lock-key-hl-color=a6da95
|
||||
inside-color=666a8f
|
||||
inside-clear-color=00000000
|
||||
inside-caps-lock-color=00000000
|
||||
inside-ver-color=00000000
|
||||
inside-wrong-color=00000000
|
||||
key-hl-color=67bf4a
|
||||
layout-bg-color=00000000
|
||||
layout-border-color=00000000
|
||||
layout-text-color=cad3f5
|
||||
line-color=00000000
|
||||
line-clear-color=00000000
|
||||
line-caps-lock-color=00000000
|
||||
line-ver-color=00000000
|
||||
line-wrong-color=00000000
|
||||
ring-color=b7bdf8
|
||||
ring-clear-color=f4dbd6
|
||||
ring-caps-lock-color=f5a97f
|
||||
ring-ver-color=8aadf4
|
||||
ring-wrong-color=ee99a0
|
||||
separator-color=00000000
|
||||
text-color=363a4f
|
||||
text-clear-color=f4dbd6
|
||||
text-caps-lock-color=f5a97f
|
||||
text-ver-color=8aadf4
|
||||
text-wrong-color=ee99a0
|
@ -1,43 +0,0 @@
|
||||
|
||||
screenshot
|
||||
effect-pixelate=18
|
||||
effect-vignette=0.7:0.5
|
||||
clock
|
||||
indicator-idle-visible
|
||||
ignore-empty-password
|
||||
show-failed-attempts
|
||||
|
||||
font=Overpass Nerd Font Mono
|
||||
timestr=%I:%M %p
|
||||
datestr=%A %b %e
|
||||
fade-in=1
|
||||
grace=10
|
||||
|
||||
bs-hl-color=f4dbd6
|
||||
caps-lock-bs-hl-color=f4dbd6
|
||||
caps-lock-key-hl-color=a6da95
|
||||
inside-color=666a8f
|
||||
inside-clear-color=00000000
|
||||
inside-caps-lock-color=00000000
|
||||
inside-ver-color=00000000
|
||||
inside-wrong-color=00000000
|
||||
key-hl-color=67bf4a
|
||||
layout-bg-color=00000000
|
||||
layout-border-color=00000000
|
||||
layout-text-color=cad3f5
|
||||
line-color=00000000
|
||||
line-clear-color=00000000
|
||||
line-caps-lock-color=00000000
|
||||
line-ver-color=00000000
|
||||
line-wrong-color=00000000
|
||||
ring-color=b7bdf8
|
||||
ring-clear-color=f4dbd6
|
||||
ring-caps-lock-color=f5a97f
|
||||
ring-ver-color=8aadf4
|
||||
ring-wrong-color=ee99a0
|
||||
separator-color=00000000
|
||||
text-color=363a4f
|
||||
text-clear-color=f4dbd6
|
||||
text-caps-lock-color=f5a97f
|
||||
text-ver-color=8aadf4
|
||||
text-wrong-color=ee99a0
|
Before Width: | Height: | Size: 1.7 MiB |
@ -1,342 +0,0 @@
|
||||
* {
|
||||
all: unset;
|
||||
font-size: 14px;
|
||||
font-family: "Ubuntu Nerd Font";
|
||||
transition: 200ms;
|
||||
}
|
||||
|
||||
trough highlight {
|
||||
background: #cad3f5;
|
||||
}
|
||||
|
||||
scale trough {
|
||||
margin: 0rem 1rem;
|
||||
background-color: #363a4f;
|
||||
min-height: 8px;
|
||||
min-width: 70px;
|
||||
}
|
||||
|
||||
slider {
|
||||
background-color: #8aadf4;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background {
|
||||
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #363a4f;
|
||||
border-radius: 12.6px;
|
||||
margin: 18px;
|
||||
background-color: #24273a;
|
||||
color: #cad3f5;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification {
|
||||
padding: 7px;
|
||||
border-radius: 12.6px;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification.critical {
|
||||
box-shadow: inset 0 0 7px 0 #ed8796;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification .notification-content {
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification .notification-content .summary {
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification .notification-content .time {
|
||||
color: #a5adcb;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification .notification-content .body {
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * {
|
||||
min-height: 3.4em;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action {
|
||||
border-radius: 7px;
|
||||
color: #cad3f5;
|
||||
background-color: #363a4f;
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
background-color: #363a4f;
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
background-color: #7dc4e4;
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .close-button {
|
||||
margin: 7px;
|
||||
padding: 2px;
|
||||
border-radius: 6.3px;
|
||||
color: #24273a;
|
||||
background-color: #ed8796;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .close-button:hover {
|
||||
background-color: #ee99a0;
|
||||
color: #24273a;
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-row .notification-background .close-button:active {
|
||||
background-color: #ed8796;
|
||||
color: #24273a;
|
||||
}
|
||||
|
||||
.control-center {
|
||||
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #363a4f;
|
||||
border-radius: 12.6px;
|
||||
margin: 18px;
|
||||
background-color: #24273a;
|
||||
color: #cad3f5;
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.control-center .widget-title > label {
|
||||
color: #cad3f5;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
.control-center .widget-title button {
|
||||
border-radius: 7px;
|
||||
color: #cad3f5;
|
||||
background-color: #363a4f;
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.control-center .widget-title button:hover {
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
background-color: #5b6078;
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.control-center .widget-title button:active {
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
background-color: #7dc4e4;
|
||||
color: #24273a;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background {
|
||||
border-radius: 7px;
|
||||
color: #cad3f5;
|
||||
background-color: #363a4f;
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
margin-top: 14px;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification {
|
||||
padding: 7px;
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification.critical {
|
||||
box-shadow: inset 0 0 7px 0 #ed8796;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification .notification-content {
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification .notification-content .summary {
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification .notification-content .time {
|
||||
color: #a5adcb;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification .notification-content .body {
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification > *:last-child > * {
|
||||
min-height: 3.4em;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action {
|
||||
border-radius: 7px;
|
||||
color: #cad3f5;
|
||||
background-color: #181926;
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
background-color: #363a4f;
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
background-color: #7dc4e4;
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .close-button {
|
||||
margin: 7px;
|
||||
padding: 2px;
|
||||
border-radius: 6.3px;
|
||||
color: #24273a;
|
||||
background-color: #ee99a0;
|
||||
}
|
||||
|
||||
.close-button {
|
||||
border-radius: 6.3px;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .close-button:hover {
|
||||
background-color: #ed8796;
|
||||
color: #24273a;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .close-button:active {
|
||||
background-color: #ed8796;
|
||||
color: #24273a;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background:hover {
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
background-color: #8087a2;
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background:active {
|
||||
box-shadow: inset 0 0 0 1px #494d64;
|
||||
background-color: #7dc4e4;
|
||||
color: #cad3f5;
|
||||
}
|
||||
|
||||
.notification.critical progress {
|
||||
background-color: #ed8796;
|
||||
}
|
||||
|
||||
.notification.low progress,
|
||||
.notification.normal progress {
|
||||
background-color: #8aadf4;
|
||||
}
|
||||
|
||||
.control-center-dnd {
|
||||
margin-top: 5px;
|
||||
border-radius: 8px;
|
||||
background: #363a4f;
|
||||
border: 1px solid #494d64;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.control-center-dnd:checked {
|
||||
background: #363a4f;
|
||||
}
|
||||
|
||||
.control-center-dnd slider {
|
||||
background: #494d64;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.widget-dnd {
|
||||
margin: 0px;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.widget-dnd > switch {
|
||||
font-size: initial;
|
||||
border-radius: 8px;
|
||||
background: #363a4f;
|
||||
border: 1px solid #494d64;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.widget-dnd > switch:checked {
|
||||
background: #363a4f;
|
||||
}
|
||||
|
||||
.widget-dnd > switch slider {
|
||||
background: #494d64;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #6e738d;
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-player {
|
||||
background: #363a4f;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-title {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-subtitle {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.widget-menubar > box > .menu-button-bar > button > label {
|
||||
font-size: 3rem;
|
||||
padding: 0.5rem 2rem;
|
||||
}
|
||||
|
||||
.widget-menubar > box > .menu-button-bar > :last-child {
|
||||
color: #ed8796;
|
||||
}
|
||||
|
||||
.power-buttons button:hover,
|
||||
.powermode-buttons button:hover,
|
||||
.screenshot-buttons button:hover {
|
||||
background: #363a4f;
|
||||
}
|
||||
|
||||
.control-center .widget-label > label {
|
||||
color: #cad3f5;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.widget-buttons-grid {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
.widget-buttons-grid > flowbox > flowboxchild > button label {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
|
||||
.widget-volume {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
.widget-volume label {
|
||||
font-size: 1.5rem;
|
||||
color: #7dc4e4;
|
||||
}
|
||||
|
||||
.widget-volume trough highlight {
|
||||
background: #7dc4e4;
|
||||
}
|
||||
|
||||
.widget-backlight trough highlight {
|
||||
background: #eed49f;
|
||||
}
|
||||
|
||||
.widget-backlight label {
|
||||
font-size: 1.5rem;
|
||||
color: #eed49f;
|
||||
}
|
||||
|
||||
.widget-backlight .KB {
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.image {
|
||||
padding-right: 0.5rem;
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
visualizer.fps=20
|
||||
visualizer.spectrum.bar.spacing=1
|
||||
visualizer.spectrum.bar.width=3
|
||||
visualizer.spectrum.smoothing.mode=monstercat
|
||||
|
||||
visualizer.monstercat.smoothing.factor=3
|
||||
audio.stereo.enabled=false
|
@ -1,267 +0,0 @@
|
||||
// Global
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"margin-top": 3,
|
||||
"margin-left": 10,
|
||||
"margin-right": 10,
|
||||
"margin-bottom": 3,
|
||||
|
||||
// If height property would be not present, it'd be calculated dynamically
|
||||
"height": 60,
|
||||
|
||||
"modules-left": [
|
||||
"custom/launcher",
|
||||
"sway/workspaces",
|
||||
"sway/mode",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
"custom/signal",
|
||||
"custom/steam",
|
||||
"custom/spotify",
|
||||
"custom/firefox",
|
||||
"custom/slack",
|
||||
"custom/files",
|
||||
"custom/pomo",
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"network",
|
||||
"idle_inhibitor",
|
||||
"memory",
|
||||
"cpu",
|
||||
"pulseaudio",
|
||||
"custom/keyboard-layout",
|
||||
"battery",
|
||||
//"custom/PBPbattery",
|
||||
// "backlight#icon",
|
||||
// "backlight#value",
|
||||
"clock",
|
||||
"tray",
|
||||
//"custom/weather",
|
||||
"custom/power",
|
||||
],
|
||||
|
||||
// Modules
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon} ",
|
||||
"format-icons":{
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
|
||||
"custom/PBPbattery": {
|
||||
"exec": "~/.config/waybar/scripts/PBPbattery.sh",
|
||||
"format": "{}",
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"interval": 10,
|
||||
"format-alt": " {:%e %b %Y}", // Icon: calendar-alt
|
||||
"format": "{:%I:%M %p}",
|
||||
"tooltip-format": "{:%e %B %Y}"
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": " {usage}% ({load})", // Icon: microchip
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90,
|
||||
},
|
||||
"on-click": "foot -e 'htop'",
|
||||
},
|
||||
|
||||
"custom/keyboard-layout": {
|
||||
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
|
||||
// Interval set only as a fallback, as the value is updated by signal
|
||||
"interval": 30,
|
||||
"format": " {}", // Icon: keyboard
|
||||
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
|
||||
"signal": 1, // SIGHUP
|
||||
"tooltip": false,
|
||||
"on-click": "~/.config/waybar/scripts/keyboard_layout.sh",
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": " {}%", // Icon: memory
|
||||
"on-click": "foot -e 'htop'",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"network": {
|
||||
"interval": 5,
|
||||
"format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi
|
||||
"format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"tooltip-format": "{ifname}: {ipaddr}",
|
||||
"on-click": "foot -e 'nmtui'",
|
||||
},
|
||||
"network#vpn": {
|
||||
"interface": "tun0",
|
||||
"format": " {essid} ({signalStrength}%)",
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"tooltip-format": "{ifname}: {ipaddr}/{cidr}",
|
||||
},
|
||||
|
||||
"sway/mode": {
|
||||
"format": "{}",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"sway/window": {
|
||||
"format": "{}",
|
||||
"max-length": 120
|
||||
},
|
||||
|
||||
"sway/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"disable-markup" : false,
|
||||
"all-outputs": true,
|
||||
"format": " {icon} ",
|
||||
//"format":"{icon}",
|
||||
"format-icons": {
|
||||
"1": "",
|
||||
"2": "",
|
||||
"3": "",
|
||||
"4": "",
|
||||
}
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon}",
|
||||
"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",
|
||||
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%",
|
||||
"on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2%",
|
||||
},
|
||||
|
||||
// to use the weather module replace <your_location> with your city or town
|
||||
// note: do not use spaces: new york would be newyork
|
||||
"custom/weather": {
|
||||
"exec": "~/.config/waybar/scripts/weather.sh <your_location>",
|
||||
"return-type": "json",
|
||||
"interval": 600,
|
||||
},
|
||||
|
||||
// "custom/temp": {
|
||||
// "exec": "notify-send \"temp thing\"",
|
||||
// "interval": "once",
|
||||
// "signal": 8,
|
||||
// },
|
||||
|
||||
"tray": {
|
||||
"icon-size": 18,
|
||||
"spacing":10,
|
||||
},
|
||||
|
||||
"backlight#icon": {
|
||||
"format": "{icon}",
|
||||
"format-icons": [""],
|
||||
"on-scroll-down": "brightnessctl -c backlight set 1%-",
|
||||
"on-scroll-up": "brightnessctl -c backlight set +1%"
|
||||
},
|
||||
|
||||
"backlight#value" :{
|
||||
"format": "{percent}%",
|
||||
"on-scroll-down": "brightnessctl -c backlight set 1%-",
|
||||
"on-scroll-up": "brightnessctl -c backlight set +1%"
|
||||
},
|
||||
|
||||
"custom/signal": {
|
||||
"format": " ",
|
||||
"on-click": "exec signal",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
"custom/steam": {
|
||||
"format": " ",
|
||||
"on-click": "exec steam",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
"custom/spotify": {
|
||||
"format": " ",
|
||||
"on-click": "foot -e 'ncspot'",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
"custom/firefox": {
|
||||
"format": " ",
|
||||
"on-click": "exec firefox",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
|
||||
"custom/slack": {
|
||||
"format": " ",
|
||||
"on-click": "slack",
|
||||
"tooltip": false,
|
||||
"exec if": "pgrep slack"
|
||||
},
|
||||
|
||||
|
||||
"custom/files": {
|
||||
"format": " ",
|
||||
"on-click": "exec thunar",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
|
||||
"custom/pomo": {
|
||||
"format": " {} ",
|
||||
"exec": "/home/nate/source/pomozoro/zig-out/bin/pomozoro",
|
||||
"return-type": "json",
|
||||
"on-click": "echo 's' > ~/.local/share/pomozoro/pomopipe",
|
||||
"on-click-right": "echo 'p' > ~/.local/share/pomozoro/pomopipe",
|
||||
"on-click-middle": "echo 'r' > ~/.local/share/pomozoro/pomopipe",
|
||||
// "signal": 8,
|
||||
},
|
||||
|
||||
"custom/launcher": {
|
||||
"format":" ",
|
||||
"on-click": "exec wofi -c ~/.config/wofi/config -I",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format":"⏻",
|
||||
"on-click": "exec ~/.config/waybar/scripts/power-menu.sh",
|
||||
"tooltip": false,
|
||||
},
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
entries="Default Colemak"
|
||||
|
||||
selected=$(printf '%s\n' $entries | wofi --conf=$HOME/.config/wofi/config.power --style=$HOME/.config/wofi/style.widgets.css | awk '{print tolower($1)}')
|
||||
|
||||
case $selected in
|
||||
default)
|
||||
swaymsg input type:keyboard xkb_layout "us"
|
||||
swaymsg input type:keyboard xkb_variant '""'
|
||||
;;
|
||||
colemak)
|
||||
swaymsg input type:keyboard xkb_layout "us"
|
||||
swaymsg input type:keyboard xkb_variant "colemak_dh"
|
||||
;;
|
||||
esac
|
@ -1,16 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
entries="Logout Suspend Reboot Shutdown"
|
||||
|
||||
selected=$(printf '%s\n' $entries | wofi --conf=$HOME/.config/wofi/config.power --style=$HOME/.config/wofi/style.widgets.css | awk '{print tolower($1)}')
|
||||
|
||||
case $selected in
|
||||
logout)
|
||||
swaymsg exit;;
|
||||
suspend)
|
||||
exec systemctl suspend;;
|
||||
reboot)
|
||||
exec systemctl reboot;;
|
||||
shutdown)
|
||||
exec systemctl poweroff -i;;
|
||||
esac
|
@ -1,314 +0,0 @@
|
||||
/* =============================================================================
|
||||
*
|
||||
* Waybar configuration
|
||||
*
|
||||
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
|
||||
*
|
||||
* =========================================================================== */
|
||||
|
||||
@define-color rosewater #f4dbd6;
|
||||
@define-color flamingo #f0c6c6;
|
||||
@define-color pink #f5bde6;
|
||||
@define-color mauve #c6a0f6;
|
||||
@define-color red #ed8796;
|
||||
@define-color maroon #ee99a0;
|
||||
@define-color peach #f5a97f;
|
||||
@define-color yellow #eed49f;
|
||||
@define-color green #a6da95;
|
||||
@define-color teal #8bd5ca;
|
||||
@define-color sky #91d7e3;
|
||||
@define-color sapphire #7dc4e4;
|
||||
@define-color blue #8aadf4;
|
||||
@define-color lavender #b7bdf8;
|
||||
@define-color text #cad3f5;
|
||||
@define-color subtext1 #b8c0e0;
|
||||
@define-color subtext0 #a5adcb;
|
||||
@define-color overlay2 #939ab7;
|
||||
@define-color overlay1 #8087a2;
|
||||
@define-color overlay0 #6e738d;
|
||||
@define-color surface2 #5b6078;
|
||||
@define-color surface1 #494d64;
|
||||
@define-color surface0 #363a4f;
|
||||
@define-color base #24273a;
|
||||
@define-color mantle #1e2030;
|
||||
@define-color crust #181926;
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Keyframes
|
||||
* -------------------------------------------------------------------------- */
|
||||
@keyframes blink-warning {
|
||||
70% {
|
||||
color: @overlay0;
|
||||
}
|
||||
|
||||
to {
|
||||
color: @overlay0;
|
||||
background-color: @crust;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink-critical {
|
||||
70% {
|
||||
color: @overlay2;
|
||||
}
|
||||
|
||||
to {
|
||||
color: @overlay2;
|
||||
background-color: @base;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Base styles
|
||||
* -------------------------------------------------------------------------- */
|
||||
/* Reset all styles */
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
margin: 1px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* The whole bar */
|
||||
#waybar {
|
||||
background: transparent;
|
||||
background-color: transparent;
|
||||
font-family: Overpass Nerd Font;
|
||||
font-size: 20px;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#taskbar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
color: transparent;
|
||||
border-bottom: 2px solid;
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
color: @lavender;
|
||||
}
|
||||
|
||||
.modules-left,
|
||||
.modules-right,
|
||||
.modules-center {
|
||||
/* margin: 8px 8px 1px 8px; */
|
||||
background: transparent;
|
||||
/* color: @; */
|
||||
background-color: @base;
|
||||
border-radius: 25px;
|
||||
padding: 0px 10px 0px 10px;
|
||||
border-style: solid;
|
||||
border-width: 3px;
|
||||
border-color: @surface0;
|
||||
}
|
||||
|
||||
/* Every modules */
|
||||
#battery,
|
||||
#clock,
|
||||
#backlight,
|
||||
#cpu,
|
||||
#custom-keyboard-layout,
|
||||
#memory,
|
||||
#mode,
|
||||
#custom-weather,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#temperature,
|
||||
#tray,
|
||||
#idle_inhibitor,
|
||||
#custom-PBPbattery {
|
||||
padding: 0.5rem 0.6rem;
|
||||
margin: 1px 0px;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Modules styles
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
#battery {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: @flamingo;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#battery.warning.discharging {
|
||||
animation-name: blink-warning;
|
||||
animation-duration: 3s;
|
||||
}
|
||||
|
||||
#battery.critical.discharging {
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 2s;
|
||||
}
|
||||
|
||||
#cpu.warning {
|
||||
color: @flamingo;
|
||||
}
|
||||
|
||||
#cpu.critical {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#memory {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#memory.warning {
|
||||
color: @flamingo;
|
||||
}
|
||||
|
||||
#memory.critical {
|
||||
color: @red;
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 2s;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background: @overlay0;
|
||||
border-bottom: 3px transparent;
|
||||
color: @text;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: @flamingo;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: @sky;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#window {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border-bottom: 3px solid transparent;
|
||||
margin-bottom: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#custom-launcher {
|
||||
color: @lavenderblush;
|
||||
}
|
||||
|
||||
/* @define-color rosewater #f4dbd6; */
|
||||
/* @define-color flamingo #f0c6c6; */
|
||||
/* @define-color pink #f5bde6; */
|
||||
/* @define-color mauve #c6a0f6; */
|
||||
/* @define-color red #ed8796; */
|
||||
/* @define-color maroon #ee99a0; */
|
||||
/* @define-color peach #f5a97f; */
|
||||
/* @define-color yellow #eed49f; */
|
||||
/* @define-color green #a6da95; */
|
||||
/* @define-color teal #8bd5ca; */
|
||||
/* @define-color sky #91d7e3; */
|
||||
/* @define-color sapphire #7dc4e4; */
|
||||
/* @define-color blue #8aadf4; */
|
||||
/* @define-color lavender #b7bdf8; */
|
||||
|
||||
|
||||
#custom-signal {
|
||||
color: @lavender;
|
||||
padding: 0px 5px 0px 5px;
|
||||
}
|
||||
|
||||
#custom-steam {
|
||||
color: @teal;
|
||||
padding: 0px 5px 0px 5px;
|
||||
}
|
||||
|
||||
#custom-spotify {
|
||||
color: @green;
|
||||
padding: 0px 5px 0px 5px;
|
||||
}
|
||||
|
||||
#custom-firefox {
|
||||
color: @yellow;
|
||||
padding: 0px 5px 0px 5px;
|
||||
}
|
||||
|
||||
#custom-slack {
|
||||
color: @peach;
|
||||
padding: 0px 5px 0px 5px;
|
||||
}
|
||||
|
||||
#custom-files {
|
||||
color: @pink;
|
||||
padding: 0px 5px 0px 5px;
|
||||
}
|
||||
|
||||
#custom-pomo {
|
||||
color: @red;
|
||||
padding: 0px 5px 0px 5px;
|
||||
}
|
||||
|
||||
#wiggle {
|
||||
animation-name: blink-warning;
|
||||
}
|
||||
|
||||
|
||||
#workspaces button.focused {
|
||||
border-bottom: 3px solid @green;
|
||||
margin-bottom: 1px;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
border-color: @lavender;
|
||||
color: @yellow;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
margin-left: 15px;
|
||||
margin-right: 15px;
|
||||
font-size: 15px;
|
||||
color: @flamingo;
|
||||
}
|
||||
|
||||
#custom-launcher {
|
||||
font-size: 15px;
|
||||
margin-left: 15px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#backlight.icon {
|
||||
padding-right: 1px;
|
||||
font-size: 13px;
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
hide_scroll=true
|
||||
show=drun
|
||||
width=25%
|
||||
lines=10
|
||||
line_wrap=word
|
||||
term=xfce4-terminal
|
||||
allow_markup=true
|
||||
always_parse_args=true
|
||||
show_all=true
|
||||
print_command=true
|
||||
layer=overlay
|
||||
allow_images=true
|
||||
insensitive=true
|
||||
prompt=
|
||||
image_size=15
|
||||
display_generic=true
|
||||
location=center
|
@ -1,9 +0,0 @@
|
||||
hide_search=true
|
||||
hide_scroll=true
|
||||
insensitive=true
|
||||
show=dmenu
|
||||
width=100
|
||||
lines=4
|
||||
location=top_right
|
||||
x=-120
|
||||
y=10
|
@ -1,9 +0,0 @@
|
||||
hide_scroll=true
|
||||
insensitive=true
|
||||
width=140
|
||||
height=200
|
||||
show=dmenu
|
||||
location=top_right
|
||||
x=-200
|
||||
y=60
|
||||
prompt="Screenshot"
|
@ -1,164 +0,0 @@
|
||||
@define-color rosewater #f4dbd6;
|
||||
@define-color rosewater-rgb rgb(244, 219, 214);
|
||||
@define-color flamingo #f0c6c6;
|
||||
@define-color flamingo-rgb rgb(240, 198, 198);
|
||||
@define-color pink #f5bde6;
|
||||
@define-color pink-rgb rgb(245, 189, 230);
|
||||
@define-color mauve #c6a0f6;
|
||||
@define-color mauve-rgb rgb(198, 160, 246);
|
||||
@define-color red #ed8796;
|
||||
@define-color red-rgb rgb(237, 135, 150);
|
||||
@define-color maroon #ee99a0;
|
||||
@define-color maroon-rgb rgb(238, 153, 160);
|
||||
@define-color peach #f5a97f;
|
||||
@define-color peach-rgb rgb(245, 169, 127);
|
||||
@define-color yellow #eed49f;
|
||||
@define-color yellow-rgb rgb(238, 212, 159);
|
||||
@define-color green #a6da95;
|
||||
@define-color green-rgb rgb(166, 218, 149);
|
||||
@define-color teal #8bd5ca;
|
||||
@define-color teal-rgb rgb(139, 213, 202);
|
||||
@define-color sky #91d7e3;
|
||||
@define-color sky-rgb rgb(145, 215, 227);
|
||||
@define-color sapphire #7dc4e4;
|
||||
@define-color sapphire-rgb rgb(125, 196, 228);
|
||||
@define-color blue #8aadf4;
|
||||
@define-color blue-rgb rgb(138, 173, 244);
|
||||
@define-color lavender #b7bdf8;
|
||||
@define-color lavender-rgb rgb(183, 189, 248);
|
||||
@define-color text #cad3f5;
|
||||
@define-color text-rgb rgb(202, 211, 245);
|
||||
@define-color subtext1 #b8c0e0;
|
||||
@define-color subtext1-rgb rgb(184, 192, 224);
|
||||
@define-color subtext0 #a5adcb;
|
||||
@define-color subtext0-rgb rgb(165, 173, 203);
|
||||
@define-color overlay2 #939ab7;
|
||||
@define-color overlay2-rgb rgb(147, 154, 183);
|
||||
@define-color overlay1 #8087a2;
|
||||
@define-color overlay1-rgb rgb(128, 135, 162);
|
||||
@define-color overlay0 #6e738d;
|
||||
@define-color overlay0-rgb rgb(110, 115, 141);
|
||||
@define-color surface2 #5b6078;
|
||||
@define-color surface2-rgb rgb(91, 96, 120);
|
||||
@define-color surface1 #494d64;
|
||||
@define-color surface1-rgb rgb(73, 77, 100);
|
||||
@define-color surface0 #363a4f;
|
||||
@define-color surface0-rgb rgb(54, 58, 79);
|
||||
@define-color base #24273a;
|
||||
@define-color base-rgb rgb(36, 39, 58);
|
||||
@define-color mantle #1e2030;
|
||||
@define-color mantle-rgb rgb(30, 32, 48);
|
||||
@define-color crust #181926;
|
||||
@define-color crust-rgb rgb(24, 25, 38);
|
||||
|
||||
* {
|
||||
font-family: 'Overpass Nerd Font', monospace;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
/* Window */
|
||||
window {
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
border: 0.16em solid @lavender;
|
||||
border-radius: 0.7em;
|
||||
background-color: @base;
|
||||
animation: slideIn 0.5s ease-in-out both;
|
||||
}
|
||||
|
||||
/* Slide In */
|
||||
@keyframes slideIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Inner Box */
|
||||
#inner-box {
|
||||
margin: 5px;
|
||||
padding: 0px;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
animation: fadeIn 0.5s ease-in-out both;
|
||||
}
|
||||
|
||||
/* Fade In */
|
||||
@keyframes fadeIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Outer Box */
|
||||
#outer-box {
|
||||
margin: 5px;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
/* Scroll */
|
||||
#scroll {
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
/* Input */
|
||||
#input {
|
||||
margin: 0px 20px;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
border-radius: 0.1em;
|
||||
color: @text;
|
||||
background-color: @base;
|
||||
animation: fadeIn 0.5s ease-in-out both;
|
||||
}
|
||||
|
||||
#input image {
|
||||
border: none;
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#input * {
|
||||
outline: 4px solid @red;
|
||||
}
|
||||
|
||||
/* Text */
|
||||
#text {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
color: @text;
|
||||
animation: fadeIn 0.5s ease-in-out both;
|
||||
}
|
||||
|
||||
#entry {
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
#entry arrow {
|
||||
border: none;
|
||||
color: @lavender;
|
||||
}
|
||||
|
||||
/* Selected Entry */
|
||||
#entry:selected {
|
||||
border: 0.11em solid @lavender;
|
||||
}
|
||||
|
||||
#entry:selected #text {
|
||||
color: @mauve;
|
||||
}
|
||||
|
||||
#entry:drop(active) {
|
||||
background-color: @lavender;
|
||||
}
|