Compare commits
9 Commits
xiao
...
92d65a8ebc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92d65a8ebc | ||
|
|
1dd84eb214 | ||
|
|
3c67ef6832 | ||
|
|
94fcdb812c | ||
|
|
84f9bf297f | ||
|
|
fa7041ff8b | ||
|
|
f68b89be0f | ||
|
|
1c449f436a | ||
|
|
b0933f7e42 |
83
alacritty/.config/alacritty/alacritty.toml
Normal file
83
alacritty/.config/alacritty/alacritty.toml
Normal file
@@ -0,0 +1,83 @@
|
||||
[window]
|
||||
[window.padding]
|
||||
x = 15
|
||||
y = 15
|
||||
|
||||
[font]
|
||||
[font.normal]
|
||||
family = "IosevkaTerm"
|
||||
style = "Regular"
|
||||
|
||||
[shell]
|
||||
program = "tmux"
|
||||
|
||||
[[key_bindings]]
|
||||
key = "Return"
|
||||
mods = "Control|Shift"
|
||||
action = "SpawnNewInstance"
|
||||
|
||||
[[key_bindings]]
|
||||
key = "V"
|
||||
mods = "Control|Shift"
|
||||
action = "Paste"
|
||||
|
||||
[[key_bindings]]
|
||||
key = "C"
|
||||
mods = "Control|Shift"
|
||||
action = "Copy"
|
||||
|
||||
[[key_bindings]]
|
||||
key = "Insert"
|
||||
mods = "Shift"
|
||||
action = "PasteSelection"
|
||||
|
||||
[[key_bindings]]
|
||||
key = "Key0"
|
||||
mods = "Control"
|
||||
action = "ResetFontSize"
|
||||
|
||||
[[key_bindings]]
|
||||
key = "Equals"
|
||||
mods = "Control"
|
||||
action = "IncreaseFontSize"
|
||||
|
||||
[[key_bindings]]
|
||||
key = "Plus"
|
||||
mods = "Control"
|
||||
action = "IncreaseFontSize"
|
||||
|
||||
[[key_bindings]]
|
||||
key = "Minus"
|
||||
mods = "Control"
|
||||
action = "DecreaseFontSize"
|
||||
|
||||
[[key_bindings]]
|
||||
key = "Minus"
|
||||
mods = "Control"
|
||||
action = "DecreaseFontSize"
|
||||
|
||||
[colors]
|
||||
[colors.primary]
|
||||
background = "0x1d1f21"
|
||||
foreground = "0xc5c8c6"
|
||||
[colors.cursor]
|
||||
text = "0x1d1f21"
|
||||
cursor = "0xc5c8c6"
|
||||
[colors.normal]
|
||||
black = "0x1d1f21"
|
||||
red = "0xcc6666"
|
||||
green = "0xb5bd68"
|
||||
yellow = "0xf0c674"
|
||||
blue = "0x81a2be"
|
||||
magenta = "0xb294bb"
|
||||
cyan = "0x8abeb7"
|
||||
white = "0xc5c8c6"
|
||||
[colors.bright]
|
||||
black = "0x969896"
|
||||
red = "0xde935f"
|
||||
green = "0x282a2e"
|
||||
yellow = "0x373b41"
|
||||
blue = "0xb4b7b4"
|
||||
magenta = "0xe0e0e0"
|
||||
cyan = "0xa3685a"
|
||||
white = "0xffffff"
|
||||
@@ -97,9 +97,11 @@ font:
|
||||
# - (macOS) Menlo
|
||||
# - (Linux/BSD) monospace
|
||||
# - (Windows) Consolas
|
||||
# family: MesloLGS NF
|
||||
# family: Hack
|
||||
family: DejaVu Sans Mono
|
||||
# family: Hack Nerd Font
|
||||
# family: DejaVuSansM Nerd Font
|
||||
# family: FiraCode Nerd Font
|
||||
# family: IosevkaTerm Nerd Font
|
||||
family: CaskaydiaCove NFM
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Regular
|
||||
@@ -316,8 +318,8 @@ font:
|
||||
# - (macOS) /bin/bash --login
|
||||
# - (Linux/BSD) user login shell
|
||||
# - (Windows) powershell
|
||||
#shell:
|
||||
# program: /bin/bash
|
||||
shell:
|
||||
program: tmux
|
||||
# args:
|
||||
# - --login
|
||||
|
||||
|
||||
144
firefox/.local/share/applications/firefox.desktop
Normal file
144
firefox/.local/share/applications/firefox.desktop
Normal file
@@ -0,0 +1,144 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
#NoDisplay=true
|
||||
Name=Firefox Web Browser (nixGL)
|
||||
GenericName=Web Browser
|
||||
GenericName[ar]=متصفح ويب
|
||||
GenericName[ast]=Restolador Web
|
||||
GenericName[bn]=ওয়েব ব্রাউজার
|
||||
GenericName[ca]=Navegador web
|
||||
GenericName[cs]=Webový prohlížeč
|
||||
GenericName[da]=Webbrowser
|
||||
GenericName[el]=Περιηγητής διαδικτύου
|
||||
GenericName[es]=Navegador web
|
||||
GenericName[et]=Veebibrauser
|
||||
GenericName[fa]=مرورگر اینترنتی
|
||||
GenericName[fi]=WWW-selain
|
||||
GenericName[fr]=Navigateur Web
|
||||
GenericName[gl]=Navegador Web
|
||||
GenericName[he]=דפדפן אינטרנט
|
||||
GenericName[hr]=Web preglednik
|
||||
GenericName[hu]=Webböngésző
|
||||
GenericName[it]=Browser web
|
||||
GenericName[ja]=ウェブ・ブラウザ
|
||||
GenericName[ko]=웹 브라우저
|
||||
GenericName[ku]=Geroka torê
|
||||
GenericName[lt]=Interneto naršyklė
|
||||
GenericName[nb]=Nettleser
|
||||
GenericName[nl]=Webbrowser
|
||||
GenericName[nn]=Nettlesar
|
||||
GenericName[no]=Nettleser
|
||||
GenericName[pl]=Przeglądarka WWW
|
||||
GenericName[pt]=Navegador Web
|
||||
GenericName[pt_BR]=Navegador Web
|
||||
GenericName[ro]=Navigator Internet
|
||||
GenericName[ru]=Веб-браузер
|
||||
GenericName[sk]=Internetový prehliadač
|
||||
GenericName[sl]=Spletni brskalnik
|
||||
GenericName[sv]=Webbläsare
|
||||
GenericName[tr]=Web Tarayıcı
|
||||
GenericName[ug]=توركۆرگۈ
|
||||
GenericName[uk]=Веб-браузер
|
||||
GenericName[vi]=Trình duyệt Web
|
||||
GenericName[zh_CN]=网络浏览器
|
||||
GenericName[zh_TW]=網路瀏覽器
|
||||
Keywords=Internet;WWW;Browser;Web;Explorer
|
||||
Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
|
||||
Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
|
||||
Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
|
||||
Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
|
||||
Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
|
||||
Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
|
||||
Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
|
||||
Keywords[es]=Explorador;Internet;WWW
|
||||
Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
|
||||
Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
|
||||
Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
|
||||
Keywords[hr]=Internet;WWW;preglednik;Web
|
||||
Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
|
||||
Keywords[it]=Internet;WWW;Browser;Web;Navigatore
|
||||
Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
|
||||
Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
|
||||
Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
|
||||
Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
|
||||
Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
|
||||
Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
|
||||
Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
|
||||
Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
|
||||
Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
|
||||
Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
|
||||
Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
|
||||
Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
|
||||
Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
|
||||
Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
|
||||
Exec=firefox %u
|
||||
Terminal=false
|
||||
X-MultipleArgs=false
|
||||
Type=Application
|
||||
Icon=firefox
|
||||
Categories=GNOME;GTK;Network;WebBrowser;
|
||||
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;video/webm;application/x-xpinstall;
|
||||
StartupNotify=true
|
||||
StartupWMClass=firefox
|
||||
Actions=new-window;new-private-window;
|
||||
|
||||
[Desktop Action new-window]
|
||||
Name=Open a New Window
|
||||
Name[ar]=افتح نافذة جديدة
|
||||
Name[ast]=Abrir una ventana nueva
|
||||
Name[bn]=Abrir una ventana nueva
|
||||
Name[ca]=Obre una finestra nova
|
||||
Name[cs]=Otevřít nové okno
|
||||
Name[da]=Åbn et nyt vindue
|
||||
Name[de]=Ein neues Fenster öffnen
|
||||
Name[el]=Νέο παράθυρο
|
||||
Name[es]=Abrir una ventana nueva
|
||||
Name[fi]=Avaa uusi ikkuna
|
||||
Name[fr]=Ouvrir une nouvelle fenêtre
|
||||
Name[gl]=Abrir unha nova xanela
|
||||
Name[he]=פתיחת חלון חדש
|
||||
Name[hr]=Otvori novi prozor
|
||||
Name[hu]=Új ablak nyitása
|
||||
Name[it]=Apri una nuova finestra
|
||||
Name[ja]=新しいウィンドウを開く
|
||||
Name[ko]=새 창 열기
|
||||
Name[ku]=Paceyeke nû veke
|
||||
Name[lt]=Atverti naują langą
|
||||
Name[nb]=Åpne et nytt vindu
|
||||
Name[nl]=Nieuw venster openen
|
||||
Name[pt]=Abrir nova janela
|
||||
Name[pt_BR]=Abrir nova janela
|
||||
Name[ro]=Deschide o fereastră nouă
|
||||
Name[ru]=Новое окно
|
||||
Name[sk]=Otvoriť nové okno
|
||||
Name[sl]=Odpri novo okno
|
||||
Name[sv]=Öppna ett nytt fönster
|
||||
Name[tr]=Yeni pencere aç
|
||||
Name[ug]=يېڭى كۆزنەك ئېچىش
|
||||
Name[uk]=Відкрити нове вікно
|
||||
Name[vi]=Mở cửa sổ mới
|
||||
Name[zh_CN]=新建窗口
|
||||
Name[zh_TW]=開啟新視窗
|
||||
Exec=firefox -new-window
|
||||
|
||||
[Desktop Action new-private-window]
|
||||
Name=Open a New Private Window
|
||||
Name[ar]=افتح نافذة جديدة للتصفح الخاص
|
||||
Name[ca]=Obre una finestra nova en mode d'incògnit
|
||||
Name[cs]=Otevřít nové anonymní okno
|
||||
Name[de]=Ein neues privates Fenster öffnen
|
||||
Name[el]=Νέο ιδιωτικό παράθυρο
|
||||
Name[es]=Abrir una ventana privada nueva
|
||||
Name[fi]=Avaa uusi yksityinen ikkuna
|
||||
Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée
|
||||
Name[he]=פתיחת חלון גלישה פרטית חדש
|
||||
Name[hu]=Új privát ablak nyitása
|
||||
Name[it]=Apri una nuova finestra anonima
|
||||
Name[nb]=Åpne et nytt privat vindu
|
||||
Name[ru]=Новое приватное окно
|
||||
Name[sl]=Odpri novo okno zasebnega brskanja
|
||||
Name[sv]=Öppna ett nytt privat fönster
|
||||
Name[tr]=Yeni gizli pencere aç
|
||||
Name[uk]=Відкрити нове вікно у потайливому режимі
|
||||
Name[zh_TW]=開啟新隱私瀏覽視窗
|
||||
Exec=nixGL firefox -private-window
|
||||
3
firefox/README.md
Normal file
3
firefox/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
toolkit.legacyUserProfileCustomizations.stylesheets to true
|
||||
|
||||
cp <profile>/chrome/userChrome.css
|
||||
10
firefox/userChrome.css
Normal file
10
firefox/userChrome.css
Normal file
@@ -0,0 +1,10 @@
|
||||
/* hides the native tabs */
|
||||
#TabsToolbar {
|
||||
visibility: collapse;
|
||||
}
|
||||
#titlebar {
|
||||
visibility: collapse;
|
||||
}
|
||||
#sidebar-header {
|
||||
visibility: collapse !important;
|
||||
}
|
||||
3
fish/.config/fish/config.fish
Normal file
3
fish/.config/fish/config.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
set -U fish_greeting
|
||||
set -g -x NIX_PATH "/home/j/.nix-defexpr/channels/:/nix/var/nix/profiles/per-user/root/channels"
|
||||
starship init fish | source
|
||||
48
flake.lock
generated
Normal file
48
flake.lock
generated
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756579987,
|
||||
"narHash": "sha256-duCce8zGsaMsrqqOmLOsuaV1PVIw/vXWnKuLKZClsGg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "99a69bdf8a3c6bf038c4121e9c4b6e99706a187a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1756542300,
|
||||
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
46
flake.nix
Normal file
46
flake.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
description = "Home Manager configuration of j";
|
||||
|
||||
inputs = {
|
||||
# Specify the source of Home Manager and Nixpkgs.
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ nixpkgs, home-manager, ... }:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
{
|
||||
# TCS config
|
||||
homeConfigurations."j@lenny" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
# Specify your home configuration modules here, for example,
|
||||
# the path to your home.nix.
|
||||
modules = [
|
||||
./home-manager/common.nix
|
||||
./home-manager/lenny.nix
|
||||
];
|
||||
|
||||
# Optionally use extraSpecialArgs
|
||||
# to pass through arguments to home.nix
|
||||
};
|
||||
|
||||
# Home
|
||||
homeConfigurations."j" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
# Specify your home configuration modules here, for example,
|
||||
# the path to your home.nix.
|
||||
modules = [
|
||||
./home-manager/common.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
12
git/.config/git/config
Normal file
12
git/.config/git/config
Normal file
@@ -0,0 +1,12 @@
|
||||
[user]
|
||||
name = J. Fernando Sánchez
|
||||
email = j@sinpapel.es
|
||||
|
||||
[core]
|
||||
pager = delta
|
||||
|
||||
[includeIf "gitdir:~/git/work/tcs/"]
|
||||
path = tcs.config
|
||||
|
||||
[delta]
|
||||
side-by-side = true
|
||||
3
git/.config/git/tcs.config
Normal file
3
git/.config/git/tcs.config
Normal file
@@ -0,0 +1,3 @@
|
||||
[user]
|
||||
name = J. Fernando Sánchez
|
||||
email = f.sanchez@thechannelstore.tv
|
||||
@@ -1,10 +1,15 @@
|
||||
[user]
|
||||
name = J. Fernando Sánchez
|
||||
email = balkian@gmail.com
|
||||
email = j@sanchezrada.es
|
||||
|
||||
[diff]
|
||||
tool = vimdiff
|
||||
tool = delta
|
||||
[alias]
|
||||
d = difftool
|
||||
|
||||
[includeIf "gitdir:~/git/work/tcs"]
|
||||
path = ~/.config/git/tcs.config
|
||||
|
||||
[include]
|
||||
path = ~/.gitconfig_secret
|
||||
|
||||
|
||||
193
home-manager/common.nix
Normal file
193
home-manager/common.nix
Normal file
@@ -0,0 +1,193 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
home.username = "j";
|
||||
home.homeDirectory = "/home/j";
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
# introduces backwards incompatible changes.
|
||||
#
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "25.05"; # Please read the comment before changing.
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = with pkgs; [
|
||||
# Desktop
|
||||
pavucontrol
|
||||
wofi
|
||||
waybar
|
||||
mako # Notification daemon
|
||||
hyprlock # Lock
|
||||
hypridle # Run lock on idle
|
||||
|
||||
pkgs.nerd-fonts.fira-code
|
||||
pkgs.nerd-fonts.monoid
|
||||
|
||||
wezterm
|
||||
|
||||
# Editors
|
||||
emacs
|
||||
neovim # This and packages.neovim.enable cannot be done at the same time
|
||||
helix
|
||||
|
||||
# Utils
|
||||
jq
|
||||
bat # Replacement for less
|
||||
delta # Replacement for less (for git diff and the like)
|
||||
eza # Better ld
|
||||
zoxide # better cd
|
||||
yazi # File manager
|
||||
ripgrep # Better search
|
||||
fzf # Fuzzy file finder
|
||||
dust # File disk utilization
|
||||
gnumake
|
||||
|
||||
zenith # System monitor
|
||||
|
||||
# Productivity
|
||||
taskwarrior3
|
||||
taskwarrior-tui
|
||||
timewarrior
|
||||
|
||||
# Shells
|
||||
fish
|
||||
grc # Colorizer
|
||||
fishPlugins.grc
|
||||
starship
|
||||
zellij
|
||||
|
||||
# Dev tools
|
||||
git
|
||||
lazygit
|
||||
|
||||
# Python
|
||||
python3
|
||||
uv
|
||||
|
||||
#uutils-coreutils
|
||||
|
||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||
# # overrides. You can do that directly here, just don't forget the
|
||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
||||
# # fonts?
|
||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||
|
||||
# # 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 = {
|
||||
# # 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;
|
||||
|
||||
# # 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'. These will be explicitly sourced when using a
|
||||
# shell provided by Home Manager. 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
|
||||
#
|
||||
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# /etc/profiles/per-user/j/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
xdg.enable = true;
|
||||
# I am not sure this is working
|
||||
home.sessionVariables = {
|
||||
XDG_BIN_HOME = "${config.home.homeDirectory}/.local/bin";
|
||||
#This variable is overriden. It does not work
|
||||
EDITOR = "hx";
|
||||
PAGER = "bat";
|
||||
};
|
||||
home.sessionPath = [ "$XDG_BIN_HOME" ];
|
||||
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
programs.eza = {
|
||||
enableFishIntegration = true;
|
||||
icons = "auto";
|
||||
git = true;
|
||||
extraOptions = [
|
||||
"--color=always"
|
||||
"--tree"
|
||||
"--level=1"
|
||||
"--group-directories=first"
|
||||
"--dereference"
|
||||
];
|
||||
};
|
||||
|
||||
home.shellAliases = {
|
||||
lg = "lazygit";
|
||||
gs = "git status";
|
||||
};
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
set fish_greeting
|
||||
fish_add_path -g $HOME/.local/bin
|
||||
'';
|
||||
plugins = [
|
||||
{ name = "grc"; src = pkgs.fishPlugins.grc.src; }
|
||||
];
|
||||
};
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
};
|
||||
};
|
||||
|
||||
#programs.neovim.enable = true;
|
||||
programs.neovim.defaultEditor = true;
|
||||
|
||||
programs.zoxide.enable = true;
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
initExtra = ''
|
||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||
then
|
||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||
fi
|
||||
''; # Launch fish on startup
|
||||
};
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
xdg.configFile = {
|
||||
"git" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/git/dotfiles/git/.config/git";
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
15
home-manager/lenny.nix
Normal file
15
home-manager/lenny.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
jujutsu
|
||||
ansible
|
||||
awscli2
|
||||
cargo-cross
|
||||
rustup
|
||||
rustc
|
||||
gcc
|
||||
vial
|
||||
chromium
|
||||
];
|
||||
|
||||
}
|
||||
81
home-manager/old.nix
Normal file
81
home-manager/old.nix
Normal file
@@ -0,0 +1,81 @@
|
||||
{ config, pkgs, nixgl, ... }:
|
||||
let nixgl = import <nixgl> {};
|
||||
in
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the
|
||||
# paths it should manage.
|
||||
home.username = "j";
|
||||
home.homeDirectory = "/home/j";
|
||||
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = (_: true);
|
||||
};
|
||||
};
|
||||
|
||||
# This value determines the Home Manager release that your
|
||||
# configuration is compatible with. This helps avoid breakage
|
||||
# when a new Home Manager release introduces backwards
|
||||
# incompatible changes.
|
||||
#
|
||||
# You can update Home Manager without changing this value. See
|
||||
# the Home Manager release notes for a list of state version
|
||||
# changes in each release.
|
||||
home.stateVersion = "23.05";
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
home.packages = [
|
||||
pkgs.htop
|
||||
pkgs.zoom-us
|
||||
pkgs.fortune
|
||||
pkgs.tmux
|
||||
pkgs.git
|
||||
pkgs.git-lfs
|
||||
pkgs.hugo
|
||||
pkgs.fish
|
||||
pkgs.fd
|
||||
pkgs.helix
|
||||
pkgs.starship
|
||||
pkgs.ripgrep
|
||||
pkgs.eza
|
||||
pkgs.ansible
|
||||
pkgs.ranger
|
||||
pkgs.sshpass
|
||||
pkgs.jq
|
||||
pkgs.bat
|
||||
pkgs.davfs2
|
||||
pkgs.pandoc
|
||||
pkgs.rustup
|
||||
#pkgs.texlive
|
||||
# pkgs.texlive.combine {
|
||||
# inherit (texlive) xcolor
|
||||
# }
|
||||
pkgs.wl-clipboard
|
||||
nixgl.auto.nixGLDefault
|
||||
#(pkgs.python311.withPackages (p: with p; [
|
||||
#jupyterlab
|
||||
#matplotlib
|
||||
#pandas
|
||||
#openpyxl
|
||||
#]))
|
||||
pkgs.alacritty
|
||||
pkgs.wezterm
|
||||
pkgs.kitty
|
||||
pkgs.zellij
|
||||
(pkgs.nerdfonts.override { fonts = [ "Iosevka" "IosevkaTerm" "Hack" "CascadiaCode" "FiraCode" "DejaVuSansMono" ]; })
|
||||
];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
vimAlias = true;
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
auto-pairs
|
||||
fzf-vim
|
||||
lightline-vim
|
||||
];
|
||||
};
|
||||
services.owncloud-client.enable = true;
|
||||
}
|
||||
13
home-manager/personal.nix
Normal file
13
home-manager/personal.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [ ];
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "J. Fernando Sánchez";
|
||||
userEmail = "balkian@gmail.com";
|
||||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
18
jj/.config/jj/config.toml
Normal file
18
jj/.config/jj/config.toml
Normal file
@@ -0,0 +1,18 @@
|
||||
"$schema" = "https://jj-vcs.github.io/jj/latest/config-schema.json"
|
||||
|
||||
[user]
|
||||
name = "J. Fernando Sánchez"
|
||||
email = "f.sanchez@thechannelstore.tv"
|
||||
|
||||
[[--scope]]
|
||||
--when.repositories = ["~/git/personal/"]
|
||||
[--scope.user]
|
||||
email = "j@sanchezrada.es"
|
||||
|
||||
[ui]
|
||||
pager = "delta" #":builtin"
|
||||
diff-formatter=":git"
|
||||
|
||||
[merge-tools.delta]
|
||||
diff-args=["--side-by-side", "$left", "$right", "--width=$width"]
|
||||
|
||||
8
kitty/.config/kitty/open-actions.conf
Normal file
8
kitty/.config/kitty/open-actions.conf
Normal file
@@ -0,0 +1,8 @@
|
||||
protocol file
|
||||
mime image/*
|
||||
action launch --type=overlay kitten icat --hold ${FILE_PATH}
|
||||
|
||||
protocol file
|
||||
ext log
|
||||
action launch --title ${FILE} --type=os-window tail -f ${FILE_PATH}
|
||||
action change_font_size current -2
|
||||
15
lazygit/.config/lazygit/config.yml
Normal file
15
lazygit/.config/lazygit/config.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
customCommands:
|
||||
# - key: "m"
|
||||
# description: "Merge (no‑ff, no‑commit)"
|
||||
# command: "git merge --no-ff --no-commit {{.SelectedBranch}}"
|
||||
# context: "localBranches"
|
||||
# output: terminal
|
||||
- key: "m"
|
||||
description: "Merge (no‑ff, no‑commit)"
|
||||
command: "git merge --no-ff --no-commit {{.SelectedLocalBranch.Name}}"
|
||||
context: "localBranches"
|
||||
output: terminal
|
||||
|
||||
#keybindings:
|
||||
# branches:
|
||||
# merge: "m" # make the UI “Merge” use our custom command
|
||||
667
niri/.config/niri/config.kdl
Normal file
667
niri/.config/niri/config.kdl
Normal file
@@ -0,0 +1,667 @@
|
||||
// This config is in the KDL format: https://kdl.dev
|
||||
// "/-" comments out the following node.
|
||||
// Check the wiki for a full description of the configuration:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Introduction
|
||||
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
|
||||
// Input device configuration.
|
||||
// Find the full list of options on the wiki:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Input
|
||||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
// You can set rules, model, layout, variant and options.
|
||||
// For more information, see xkeyboard-config(7).
|
||||
|
||||
// For example:
|
||||
layout "us"
|
||||
variant "altgr-intl"
|
||||
options "ctrl:nocaps"
|
||||
}
|
||||
|
||||
// Enable numlock on startup, omitting this setting disables it.
|
||||
//numlock
|
||||
}
|
||||
|
||||
// Next sections include libinput settings.
|
||||
// Omitting settings disables them, or leaves them at their default values.
|
||||
touchpad {
|
||||
// off
|
||||
tap
|
||||
// dwt
|
||||
// dwtp
|
||||
// drag false
|
||||
// drag-lock
|
||||
natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "two-finger"
|
||||
// disabled-on-external-mouse
|
||||
}
|
||||
|
||||
mouse {
|
||||
// off
|
||||
// natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "no-scroll"
|
||||
}
|
||||
|
||||
trackpoint {
|
||||
// off
|
||||
// natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "on-button-down"
|
||||
// scroll-button 273
|
||||
// middle-emulation
|
||||
}
|
||||
|
||||
// Uncomment this to make the mouse warp to the center of newly focused windows.
|
||||
// warp-mouse-to-focus
|
||||
|
||||
// Focus windows and outputs automatically when moving the mouse into them.
|
||||
// Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
|
||||
// focus-follows-mouse max-scroll-amount="0%"
|
||||
}
|
||||
|
||||
// You can configure outputs by their name, which you can find
|
||||
// by running `niri msg outputs` while inside a niri instance.
|
||||
// The built-in laptop monitor is usually called "eDP-1".
|
||||
// Find more information on the wiki:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs
|
||||
// Remember to uncomment the node by removing "/-"!
|
||||
output "eDP-1" {
|
||||
// Uncomment this line to disable this output.
|
||||
// off
|
||||
|
||||
// Resolution and, optionally, refresh rate of the output.
|
||||
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
|
||||
// If the refresh rate is omitted, niri will pick the highest refresh rate
|
||||
// for the resolution.
|
||||
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
|
||||
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
|
||||
mode "1920x1080@60.001"
|
||||
|
||||
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
|
||||
scale 1
|
||||
|
||||
// Transform allows to rotate the output counter-clockwise, valid values are:
|
||||
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
|
||||
transform "normal"
|
||||
|
||||
// Position of the output in the global coordinate space.
|
||||
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
|
||||
// The cursor can only move between directly adjacent outputs.
|
||||
// Output scale and rotation has to be taken into account for positioning:
|
||||
// outputs are sized in logical, or scaled, pixels.
|
||||
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
|
||||
// so to put another output directly adjacent to it on the right, set its x to 1920.
|
||||
// If the position is unset or results in an overlap, the output is instead placed
|
||||
// automatically.
|
||||
position x=0 y=0
|
||||
//position x=0 y=1080
|
||||
}
|
||||
|
||||
output "DP-1" {
|
||||
// Uncomment this line to disable this output.
|
||||
// off
|
||||
|
||||
// Resolution and, optionally, refresh rate of the output.
|
||||
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
|
||||
// If the refresh rate is omitted, niri will pick the highest refresh rate
|
||||
// for the resolution.
|
||||
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
|
||||
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
|
||||
//mode "3840x2160@60"
|
||||
mode "3840x2160@60"
|
||||
scale 1.25
|
||||
//mode "1920x1080@60"
|
||||
//mode "2560x1440"
|
||||
//scale 1
|
||||
|
||||
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
|
||||
//scale 1.0
|
||||
|
||||
// Transform allows to rotate the output counter-clockwise, valid values are:
|
||||
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
|
||||
transform "normal"
|
||||
|
||||
// Position of the output in the global coordinate space.
|
||||
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
|
||||
// The cursor can only move between directly adjacent outputs.
|
||||
// Output scale and rotation has to be taken into account for positioning:
|
||||
// outputs are sized in logical, or scaled, pixels.
|
||||
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
|
||||
// so to put another output directly adjacent to it on the right, set its x to 1920.
|
||||
// If the position is unset or results in an overlap, the output is instead placed
|
||||
// automatically.
|
||||
position x=1920 y=-500
|
||||
//position x=0 y=0
|
||||
}
|
||||
|
||||
// Settings that influence how windows are positioned and sized.
|
||||
// Find more information on the wiki:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout
|
||||
layout {
|
||||
// Set gaps around windows in logical pixels.
|
||||
gaps 5
|
||||
|
||||
// When to center a column when changing focus, options are:
|
||||
// - "never", default behavior, focusing an off-screen column will keep at the left
|
||||
// or right edge of the screen.
|
||||
// - "always", the focused column will always be centered.
|
||||
// - "on-overflow", focusing a column will center it if it doesn't fit
|
||||
// together with the previously focused column.
|
||||
center-focused-column "never"
|
||||
|
||||
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
|
||||
preset-column-widths {
|
||||
// Proportion sets the width as a fraction of the output width, taking gaps into account.
|
||||
// For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
|
||||
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
|
||||
proportion 0.25
|
||||
proportion 0.5
|
||||
proportion 0.75
|
||||
proportion 1.0
|
||||
|
||||
// Fixed sets the width in logical pixels exactly.
|
||||
// fixed 1920
|
||||
}
|
||||
|
||||
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
|
||||
preset-window-heights {
|
||||
proportion 1.0
|
||||
proportion 0.75
|
||||
proportion 0.5
|
||||
proportion 0.25
|
||||
}
|
||||
|
||||
// You can change the default width of the new windows.
|
||||
//default-column-width { proportion 0.5; }
|
||||
// If you leave the brackets empty, the windows themselves will decide their initial width.
|
||||
//default-column-width {
|
||||
// proportion 0.25;
|
||||
//}
|
||||
default-column-width {}
|
||||
|
||||
// By default focus ring and border are rendered as a solid background rectangle
|
||||
// behind windows. That is, they will show up through semitransparent windows.
|
||||
// This is because windows using client-side decorations can have an arbitrary shape.
|
||||
//
|
||||
// If you don't like that, you should uncomment `prefer-no-csd` below.
|
||||
// Niri will draw focus ring and border *around* windows that agree to omit their
|
||||
// client-side decorations.
|
||||
//
|
||||
// Alternatively, you can override it with a window rule called
|
||||
// `draw-border-with-background`.
|
||||
|
||||
// You can change how the focus ring looks.
|
||||
focus-ring {
|
||||
// Uncomment this line to disable the focus ring.
|
||||
// off
|
||||
|
||||
// How many logical pixels the ring extends out from the windows.
|
||||
width 4
|
||||
|
||||
// Colors can be set in a variety of ways:
|
||||
// - CSS named colors: "red"
|
||||
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
|
||||
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
|
||||
|
||||
// Color of the ring on the active monitor.
|
||||
//active-color "#7fc8ff"
|
||||
active-color "#FFDB58"
|
||||
|
||||
// Color of the ring on inactive monitors.
|
||||
inactive-color "#505050"
|
||||
|
||||
// You can also use gradients. They take precedence over solid colors.
|
||||
// Gradients are rendered the same as CSS linear-gradient(angle, from, to).
|
||||
// The angle is the same as in linear-gradient, and is optional,
|
||||
// defaulting to 180 (top-to-bottom gradient).
|
||||
// You can use any CSS linear-gradient tool on the web to set these up.
|
||||
// Changing the color space is also supported, check the wiki for more info.
|
||||
//
|
||||
// active-gradient from="#80c8ff" to="#bbddff" angle=45
|
||||
|
||||
// You can also color the gradient relative to the entire view
|
||||
// of the workspace, rather than relative to just the window itself.
|
||||
// To do that, set relative-to="workspace-view".
|
||||
//
|
||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||
}
|
||||
|
||||
// You can also add a border. It's similar to the focus ring, but always visible.
|
||||
border {
|
||||
// The settings are the same as for the focus ring.
|
||||
// If you enable the border, you probably want to disable the focus ring.
|
||||
off
|
||||
|
||||
width 4
|
||||
active-color "#ffc87f"
|
||||
inactive-color "#505050"
|
||||
|
||||
// Color of the border around windows that request your attention.
|
||||
urgent-color "#9b0000"
|
||||
|
||||
// active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view"
|
||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||
}
|
||||
|
||||
// You can enable drop shadows for windows.
|
||||
shadow {
|
||||
// Uncomment the next line to enable shadows.
|
||||
// on
|
||||
|
||||
// By default, the shadow draws only around its window, and not behind it.
|
||||
// Uncomment this setting to make the shadow draw behind its window.
|
||||
//
|
||||
// Note that niri has no way of knowing about the CSD window corner
|
||||
// radius. It has to assume that windows have square corners, leading to
|
||||
// shadow artifacts inside the CSD rounded corners. This setting fixes
|
||||
// those artifacts.
|
||||
//
|
||||
// However, instead you may want to set prefer-no-csd and/or
|
||||
// geometry-corner-radius. Then, niri will know the corner radius and
|
||||
// draw the shadow correctly, without having to draw it behind the
|
||||
// window. These will also remove client-side shadows if the window
|
||||
// draws any.
|
||||
//
|
||||
// draw-behind-window true
|
||||
|
||||
// You can change how shadows look. The values below are in logical
|
||||
// pixels and match the CSS box-shadow properties.
|
||||
|
||||
// Softness controls the shadow blur radius.
|
||||
softness 30
|
||||
|
||||
// Spread expands the shadow.
|
||||
spread 5
|
||||
|
||||
// Offset moves the shadow relative to the window.
|
||||
offset x=0 y=5
|
||||
|
||||
// You can also change the shadow color and opacity.
|
||||
color "#0007"
|
||||
}
|
||||
|
||||
// Struts shrink the area occupied by windows, similarly to layer-shell panels.
|
||||
// You can think of them as a kind of outer gaps. They are set in logical pixels.
|
||||
// Left and right struts will cause the next window to the side to always be visible.
|
||||
// Top and bottom struts will simply add outer gaps in addition to the area occupied by
|
||||
// layer-shell panels and regular gaps.
|
||||
struts {
|
||||
left 5
|
||||
right 5
|
||||
top 5
|
||||
bottom 5
|
||||
}
|
||||
}
|
||||
|
||||
workspace "terminal" {
|
||||
open-on-output "DP-1"
|
||||
}
|
||||
|
||||
workspace "firefox" {
|
||||
open-on-output "DP-1"
|
||||
}
|
||||
|
||||
workspace "teams" {
|
||||
open-on-output "eDP-1"
|
||||
}
|
||||
|
||||
workspace "3" {}
|
||||
workspace "4" {}
|
||||
workspace "5" {}
|
||||
workspace "6" {}
|
||||
workspace "7" {}
|
||||
workspace "8" {}
|
||||
workspace "9" {}
|
||||
|
||||
// Add lines like this to spawn processes at startup.
|
||||
// Note that running niri as a session supports xdg-desktop-autostart,
|
||||
// which may be more convenient to use.
|
||||
// See the binds section below for more spawn examples.
|
||||
|
||||
// This line starts waybar, a commonly used bar for Wayland compositors.
|
||||
spawn-at-startup "mako"
|
||||
spawn-at-startup "waybar"
|
||||
spawn-at-startup "hypridle"
|
||||
|
||||
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
|
||||
// If the client will specifically ask for CSD, the request will be honored.
|
||||
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
|
||||
// This option will also fix border/focus ring drawing behind some semitransparent windows.
|
||||
// After enabling or disabling this, you need to restart the apps for this to take effect.
|
||||
prefer-no-csd
|
||||
|
||||
// You can change the path where screenshots are saved.
|
||||
// A ~ at the front will be expanded to the home directory.
|
||||
// The path is formatted with strftime(3) to give you the screenshot date and time.
|
||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||
|
||||
// You can also set this to null to disable saving screenshots to disk.
|
||||
// screenshot-path null
|
||||
|
||||
// Animation settings.
|
||||
// The wiki explains how to configure individual animations:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Animations
|
||||
animations {
|
||||
// Uncomment to turn off all animations.
|
||||
// off
|
||||
|
||||
// Slow down all animations by this factor. Values below 1 speed them up instead.
|
||||
slowdown 0.5
|
||||
}
|
||||
|
||||
// Window rules let you adjust behavior for individual windows.
|
||||
// Find more information on the wiki:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
|
||||
|
||||
// Work around WezTerm's initial configure bug
|
||||
// by setting an empty default-column-width.
|
||||
window-rule {
|
||||
// This regular expression is intentionally made as specific as possible,
|
||||
// since this is the default config, and we want no false positives.
|
||||
// You can get away with just app-id="wezterm" if you want.
|
||||
match app-id=r#"^org\.wezfurlong\.wezterm$"#
|
||||
default-column-width {}
|
||||
}
|
||||
|
||||
// Open the Firefox picture-in-picture player as floating by default.
|
||||
window-rule {
|
||||
// This app-id regular expression will work for both:
|
||||
// - host Firefox (app-id is "firefox")
|
||||
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
|
||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r#"firefox$"# title="Bitwarden"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
// Example: block out two password managers from screen capture.
|
||||
// (This example rule is commented out with a "/-" in front.)
|
||||
/-window-rule {
|
||||
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
||||
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
||||
|
||||
block-out-from "screen-capture"
|
||||
|
||||
// Use this instead if you want them visible on third-party screenshot tools.
|
||||
// block-out-from "screencast"
|
||||
}
|
||||
|
||||
// Example: enable rounded corners for all windows.
|
||||
// (This example rule is commented out with a "/-" in front.)
|
||||
/-window-rule {
|
||||
geometry-corner-radius 12
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id="firefox"
|
||||
open-on-workspace "firefox"
|
||||
}
|
||||
|
||||
binds {
|
||||
// Keys consist of modifiers separated by + signs, followed by an XKB key name
|
||||
// in the end. To find an XKB name for a particular key, you may use a program
|
||||
// like wev.
|
||||
//
|
||||
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
|
||||
// when running as a winit window.
|
||||
//
|
||||
// Most actions that you can bind here can also be invoked programmatically with
|
||||
// `niri msg action do-something`.
|
||||
|
||||
// Mod-Shift-/, which is usually the same as Mod-?,
|
||||
// shows a list of important hotkeys.
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
|
||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||
Mod+return hotkey-overlay-title="Open a Terminal: wezterm" { spawn "wezterm"; }
|
||||
Mod+space hotkey-overlay-title="Run an Application: wofi" { spawn "sh" "-c" "wofi --show dmenu,drun"; }
|
||||
Mod+Delete hotkey-overlay-title="Lock the Screen: hyprlock" { spawn "hyprlock"; }
|
||||
|
||||
// You can also use a shell. Do this if you need pipes, multiple commands, etc.
|
||||
// Note: the entire command goes as a single argument in the end.
|
||||
// Mod+T { spawn "bash" "-c" "notify-send hello && exec wezterm"; }
|
||||
|
||||
Ctrl+Alt+W { spawn "firefox" "--ProfileManager"; }
|
||||
Ctrl+Alt+Q { spawn "chromium-browser" "--ozone-platform=wayland"; }
|
||||
|
||||
// Brightness control
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "s" "+5%"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "s" "5%-"; }
|
||||
// Example volume keys mappings for PipeWire & WirePlumber.
|
||||
// The allow-when-locked=true property makes them work even when the session is locked.
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+" "--limit" "1.0"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-" "--limit" "0.0"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
|
||||
|
||||
// Open/close the Overview: a zoomed-out view of workspaces and windows.
|
||||
// You can also move the mouse into the top-left hot corner,
|
||||
// or do a four-finger swipe up on a touchpad.
|
||||
Mod+O repeat=false { toggle-overview; }
|
||||
|
||||
Mod+Q { close-window; }
|
||||
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
|
||||
Mod+Ctrl+H { move-column-left-or-to-monitor-left; }
|
||||
Mod+Ctrl+L { move-column-right-or-to-monitor-right; }
|
||||
Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
|
||||
Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
|
||||
|
||||
Mod+Home { focus-column-first; }
|
||||
Mod+End { focus-column-last; }
|
||||
Mod+Ctrl+Home { move-column-to-first; }
|
||||
Mod+Ctrl+End { move-column-to-last; }
|
||||
|
||||
Mod+Shift+Left { focus-monitor-left; }
|
||||
Mod+Shift+Down { focus-monitor-down; }
|
||||
Mod+Shift+Up { focus-monitor-up; }
|
||||
Mod+Shift+Right { focus-monitor-right; }
|
||||
|
||||
Mod+Shift+H { focus-monitor-left; }
|
||||
Mod+Shift+J { focus-monitor-down; }
|
||||
Mod+Shift+K { focus-monitor-up; }
|
||||
Mod+Shift+L { focus-monitor-right; }
|
||||
|
||||
Ctrl+Alt+H { move-workspace-to-monitor-left; }
|
||||
Ctrl+Alt+J { move-workspace-to-monitor-down; }
|
||||
Ctrl+Alt+K { move-workspace-to-monitor-up; }
|
||||
Ctrl+Alt+L { move-workspace-to-monitor-right; }
|
||||
Mod+Alt+H { move-column-to-monitor-left; }
|
||||
Mod+Alt+J { move-column-to-monitor-down; }
|
||||
Mod+Alt+K { move-column-to-monitor-up; }
|
||||
Mod+Alt+L { move-column-to-monitor-right; }
|
||||
|
||||
// Alternatively, there are commands to move just a single window:
|
||||
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
|
||||
// ...
|
||||
|
||||
// And you can also move a whole workspace to another monitor:
|
||||
Mod+Ctrl+Shift+H { move-workspace-to-monitor-left; }
|
||||
Mod+Ctrl+Shift+L { move-workspace-to-monitor-right; }
|
||||
Mod+Ctrl+Shift+J { move-workspace-to-monitor-down; }
|
||||
Mod+Ctrl+Shift+K { move-workspace-to-monitor-up; }
|
||||
// ...
|
||||
|
||||
Mod+Page_Down { focus-workspace-down; }
|
||||
Mod+Page_Up { focus-workspace-up; }
|
||||
Mod+D { focus-workspace-down; }
|
||||
Mod+U { focus-workspace-up; }
|
||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||
Mod+Ctrl+U { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+I { move-column-to-workspace-up; }
|
||||
|
||||
// Alternatively, there are commands to move just a single window:
|
||||
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
|
||||
// ...
|
||||
|
||||
Mod+Shift+Page_Down { move-workspace-down; }
|
||||
Mod+Shift+Page_Up { move-workspace-up; }
|
||||
Mod+Shift+U { move-workspace-up; }
|
||||
Mod+Shift+D { move-workspace-down; }
|
||||
|
||||
// You can bind mouse wheel scroll ticks using the following syntax.
|
||||
// These binds will change direction based on the natural-scroll setting.
|
||||
//
|
||||
// To avoid scrolling through workspaces really fast, you can use
|
||||
// the cooldown-ms property. The bind will be rate-limited to this value.
|
||||
// You can set a cooldown on any bind, but it's most useful for the wheel.
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||
|
||||
Mod+WheelScrollRight { focus-column-right; }
|
||||
Mod+WheelScrollLeft { focus-column-left; }
|
||||
Mod+Ctrl+WheelScrollRight { move-column-right-or-to-monitor-right; }
|
||||
Mod+Ctrl+WheelScrollLeft { move-column-left-or-to-monitor-left; }
|
||||
|
||||
// Usually scrolling up and down with Shift in applications results in
|
||||
// horizontal scrolling; these binds replicate that.
|
||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right-or-to-monitor-right; }
|
||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left-or-to-monitor-left;}
|
||||
|
||||
// Similarly, you can bind touchpad scroll "ticks".
|
||||
// Touchpad scrolling is continuous, so for these binds it is split into
|
||||
// discrete intervals.
|
||||
// These binds are also affected by touchpad's natural-scroll, so these
|
||||
// example binds are "inverted", since we have natural-scroll enabled for
|
||||
// touchpads by default.
|
||||
// Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; }
|
||||
// Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; }
|
||||
|
||||
// You can refer to workspaces by index. However, keep in mind that
|
||||
// niri is a dynamic workspace system, so these commands are kind of
|
||||
// "best effort". Trying to refer to a workspace index bigger than
|
||||
// the current workspace count will instead refer to the bottommost
|
||||
// (empty) workspace.
|
||||
//
|
||||
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
|
||||
// will all refer to the 3rd workspace.
|
||||
Mod+1 { focus-workspace "terminal"; }
|
||||
Mod+2 { focus-workspace "firefox"; }
|
||||
Mod+3 { focus-workspace "3"; }
|
||||
Mod+4 { focus-workspace "4"; }
|
||||
Mod+5 { focus-workspace "5"; }
|
||||
Mod+6 { focus-workspace "6"; }
|
||||
Mod+7 { focus-workspace "7"; }
|
||||
Mod+8 { focus-workspace "8"; }
|
||||
Mod+9 { focus-workspace "9"; }
|
||||
Mod+grave { focus-workspace "teams"; }
|
||||
Mod+0 { focus-workspace "teams"; }
|
||||
Mod+Ctrl+1 { move-column-to-workspace "terminal"; }
|
||||
Mod+Ctrl+2 { move-column-to-workspace "firefox"; }
|
||||
Mod+Ctrl+3 { move-column-to-workspace "3"; }
|
||||
Mod+Ctrl+4 { move-column-to-workspace "4"; }
|
||||
Mod+Ctrl+5 { move-column-to-workspace "5"; }
|
||||
Mod+Ctrl+6 { move-column-to-workspace "6"; }
|
||||
Mod+Ctrl+7 { move-column-to-workspace "7"; }
|
||||
Mod+Ctrl+8 { move-column-to-workspace "8"; }
|
||||
Mod+Ctrl+9 { move-column-to-workspace "9"; }
|
||||
Mod+Ctrl+0 { move-column-to-workspace "teams"; }
|
||||
|
||||
// Alternatively, there are commands to move just a single window:
|
||||
// Mod+Ctrl+1 { move-window-to-workspace 1; }
|
||||
|
||||
// Switches focus between the current and the previous workspace.
|
||||
// Mod+Tab { focus-workspace-previous; }
|
||||
|
||||
// The following binds move the focused window in and out of a column.
|
||||
// If the window is alone, they will consume it into the nearby column to the side.
|
||||
// If the window is already in a column, they will expel it out.
|
||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||
Mod+BracketRight { consume-or-expel-window-right; }
|
||||
|
||||
// Consume one window from the right to the bottom of the focused column.
|
||||
Mod+Comma { consume-window-into-column; }
|
||||
// Expel the bottom window from the focused column to the right.
|
||||
Mod+Period { expel-window-from-column; }
|
||||
|
||||
Mod+R { switch-preset-column-width; }
|
||||
Mod+Shift+R { switch-preset-window-height; }
|
||||
Mod+Ctrl+R { reset-window-height; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
|
||||
// Expand the focused column to space not taken up by other fully visible columns.
|
||||
// Makes the column "fill the rest of the space".
|
||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||
|
||||
Mod+C { center-column; }
|
||||
|
||||
// Center all fully visible columns on screen.
|
||||
Mod+Ctrl+C { center-visible-columns; }
|
||||
|
||||
// Finer width adjustments.
|
||||
// This command can also:
|
||||
// * set width in pixels: "1000"
|
||||
// * adjust width in pixels: "-5" or "+5"
|
||||
// * set width as a percentage of screen width: "25%"
|
||||
// * adjust width as a percentage of screen width: "-10%" or "+10%"
|
||||
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
||||
// set-column-width "100" will make the column occupy 200 physical screen pixels.
|
||||
Mod+Minus { set-column-width "-5%"; }
|
||||
Mod+Equal { set-column-width "+5%"; }
|
||||
|
||||
// Finer height adjustments when in column with other windows.
|
||||
Mod+Shift+Minus { set-window-height "-5%"; }
|
||||
Mod+Shift+Equal { set-window-height "+5%"; }
|
||||
|
||||
// Move the focused window between the floating and the tiling layout.
|
||||
Mod+V { toggle-window-floating; }
|
||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||
|
||||
// Toggle tabbed column display mode.
|
||||
// Windows in this column will appear as vertical tabs,
|
||||
// rather than stacked on top of each other.
|
||||
Mod+W { toggle-column-tabbed-display; }
|
||||
|
||||
// Actions to switch layouts.
|
||||
// Note: if you uncomment these, make sure you do NOT have
|
||||
// a matching layout switch hotkey configured in xkb options above.
|
||||
// Having both at once on the same hotkey will break the switching,
|
||||
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
||||
// Mod+Space { switch-layout "next"; }
|
||||
// Mod+Shift+Space { switch-layout "prev"; }
|
||||
|
||||
Print { screenshot; }
|
||||
Ctrl+Print { screenshot-screen; }
|
||||
Alt+Print { screenshot-window; }
|
||||
|
||||
// Applications such as remote-desktop clients and software KVM switches may
|
||||
// request that niri stops processing the keyboard shortcuts defined here
|
||||
// so they may, for example, forward the key presses as-is to a remote machine.
|
||||
// It's a good idea to bind an escape hatch to toggle the inhibitor,
|
||||
// so a buggy application can't hold your session hostage.
|
||||
//
|
||||
// The allow-inhibiting=false property can be applied to other binds as well,
|
||||
// which ensures niri always processes them, even when an inhibitor is active.
|
||||
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||
|
||||
// The quit action will show a confirmation dialog to avoid accidental exits.
|
||||
Mod+Shift+E { quit; }
|
||||
Ctrl+Alt+Delete { quit; }
|
||||
|
||||
// Powers off the monitors. To turn them back on, do any input like
|
||||
// moving the mouse or pressing any other key.
|
||||
Mod+Shift+P { power-off-monitors; }
|
||||
}
|
||||
11
ranger/.config/ranger/bookmarks.new
Normal file
11
ranger/.config/ranger/bookmarks.new
Normal file
@@ -0,0 +1,11 @@
|
||||
F:/home/j
|
||||
f:/home/j
|
||||
m:/home/j/Downloads
|
||||
p:/home/j/Doctorado/Papers
|
||||
s:/home/j/Doctorado/Papers/SocialContext
|
||||
d:/home/j/Downloads
|
||||
D:/home/j/Doctorado
|
||||
o:/home/j/Downloads
|
||||
g:/home/j/git/balkian
|
||||
G:/home/j/GSI
|
||||
j:/home/j/Downloads
|
||||
5
starship/.config/starship.toml
Normal file
5
starship/.config/starship.toml
Normal file
@@ -0,0 +1,5 @@
|
||||
# Get editor completions based on the config schema
|
||||
"$schema" = 'https://starship.rs/config-schema.json'
|
||||
|
||||
# Inserts a blank line between shell prompts
|
||||
add_newline = false
|
||||
16
wezterm/.wezterm.lua
Normal file
16
wezterm/.wezterm.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
local wezterm = require 'wezterm'
|
||||
local config = {}
|
||||
|
||||
config.font = wezterm.font 'Iosevka Nerd Font'
|
||||
config.show_tab_index_in_tab_bar = true
|
||||
|
||||
-- wezterm.on('update-right-status', function(window, pane)
|
||||
-- window:set_left_status 'left'
|
||||
-- window:set_right_status 'right'
|
||||
-- end)
|
||||
|
||||
config.use_fancy_tab_bar = true
|
||||
config.show_tabs_in_tab_bar = false
|
||||
config.show_new_tab_button_in_tab_bar = false
|
||||
|
||||
return config
|
||||
Reference in New Issue
Block a user