Compare commits
1 Commits
master
...
92d65a8ebc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92d65a8ebc |
8
flake.lock
generated
8
flake.lock
generated
@@ -22,16 +22,16 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1770136044,
|
||||
"narHash": "sha256-tlFqNG/uzz2++aAmn4v8J0vAkV3z7XngeIIB3rM3650=",
|
||||
"lastModified": 1756542300,
|
||||
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e576e3c9cf9bad747afcddd9e34f51d18c855b4e",
|
||||
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.11",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
inputs = {
|
||||
# Specify the source of Home Manager and Nixpkgs.
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
# This is the configuration file for Ghostty.
|
||||
#
|
||||
# This template file has been automatically created at the following
|
||||
# path since Ghostty couldn't find any existing config files on your system:
|
||||
#
|
||||
# /home/j/.config/ghostty/config
|
||||
#
|
||||
# The template does not set any default options, since Ghostty ships
|
||||
# with sensible defaults for all options. Users should only need to set
|
||||
# options that they want to change from the default.
|
||||
#
|
||||
# Run `ghostty +show-config --default --docs` to view a list of
|
||||
# all available config options and their default values.
|
||||
#
|
||||
# Additionally, each config option is also explained in detail
|
||||
# on Ghostty's website, at https://ghostty.org/docs/config.
|
||||
#
|
||||
# Ghostty can reload the configuration while running by using the menu
|
||||
# options or the bound key (default: Command + Shift + comma on macOS and
|
||||
# Control + Shift + comma on other platforms). Not all config options can be
|
||||
# reloaded while running; some only apply to new windows and others may require
|
||||
# a full restart to take effect.
|
||||
|
||||
# Config syntax crash course
|
||||
# ==========================
|
||||
# # The config file consists of simple key-value pairs,
|
||||
# # separated by equals signs.
|
||||
font-family = Iosevka
|
||||
# window-padding-x = 2
|
||||
#
|
||||
# # Spacing around the equals sign does not matter.
|
||||
# # All of these are identical:
|
||||
# key=value
|
||||
# key= value
|
||||
# key =value
|
||||
# key = value
|
||||
#
|
||||
# # Any line beginning with a # is a comment. It's not possible to put
|
||||
# # a comment after a config option, since it would be interpreted as a
|
||||
# # part of the value. For example, this will have a value of "#123abc":
|
||||
# background = black
|
||||
#123abc
|
||||
# theme = Dark Modern
|
||||
# theme = Soft Server
|
||||
# theme = Zenwritten Dark
|
||||
# theme = Operator Mono Dark
|
||||
# theme = Monokai Remastered
|
||||
# theme = Solarized Dark Patched
|
||||
theme = 3024 Night
|
||||
#
|
||||
# # Empty values are used to reset config keys to default.
|
||||
# key =
|
||||
#
|
||||
# # Some config options have unique syntaxes for their value,
|
||||
# # which is explained in the docs for that config option.
|
||||
# # Just for example:
|
||||
# resize-overlay-duration = 4s 200ms
|
||||
|
||||
keybind = ctrl+[=text:\x1b
|
||||
@@ -5,9 +5,8 @@
|
||||
[core]
|
||||
pager = delta
|
||||
|
||||
[delta]
|
||||
side-by-side = true
|
||||
|
||||
[includeIf "gitdir:~/git/work/tcs/"]
|
||||
path = tcs.config
|
||||
|
||||
[delta]
|
||||
side-by-side = true
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
theme = "github_dark"
|
||||
|
||||
[editor]
|
||||
line-number = "relative"
|
||||
mouse = false
|
||||
auto-pairs = false
|
||||
|
||||
[editor.cursor-shape]
|
||||
insert = "bar"
|
||||
normal = "block"
|
||||
select = "underline"
|
||||
|
||||
[editor.file-picker]
|
||||
hidden = false
|
||||
@@ -29,8 +29,7 @@
|
||||
pkgs.nerd-fonts.fira-code
|
||||
pkgs.nerd-fonts.monoid
|
||||
|
||||
#wezterm
|
||||
ghostty
|
||||
wezterm
|
||||
|
||||
# Editors
|
||||
emacs
|
||||
@@ -66,7 +65,6 @@
|
||||
# Dev tools
|
||||
git
|
||||
lazygit
|
||||
jujutsu
|
||||
|
||||
# Python
|
||||
python3
|
||||
@@ -125,7 +123,7 @@
|
||||
XDG_BIN_HOME = "${config.home.homeDirectory}/.local/bin";
|
||||
#This variable is overriden. It does not work
|
||||
EDITOR = "hx";
|
||||
#PAGER = "bat";
|
||||
PAGER = "bat";
|
||||
};
|
||||
home.sessionPath = [ "$XDG_BIN_HOME" ];
|
||||
|
||||
@@ -149,11 +147,6 @@
|
||||
home.shellAliases = {
|
||||
lg = "lazygit";
|
||||
gs = "git status";
|
||||
j = "jj";
|
||||
js = "jj status";
|
||||
jt = "jj tug";
|
||||
jf = "jj git fetch";
|
||||
jl = "jj log";
|
||||
};
|
||||
|
||||
programs.fish = {
|
||||
@@ -175,16 +168,9 @@
|
||||
};
|
||||
|
||||
#programs.neovim.enable = true;
|
||||
#programs.neovim.defaultEditor = false;
|
||||
#programs.helix.enable = true;
|
||||
#programs.helix.defaultEditor = true;
|
||||
programs.neovim.defaultEditor = true;
|
||||
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
options = [
|
||||
"--cmd z"
|
||||
];
|
||||
};
|
||||
programs.zoxide.enable = true;
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
initExtra = ''
|
||||
@@ -198,19 +184,10 @@
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
xdg.configFile = let
|
||||
dotfiles = "${config.home.homeDirectory}/git/dotfiles";
|
||||
|
||||
createDotLink = name: {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/${name}/.config/${name}";
|
||||
xdg.configFile = {
|
||||
"git" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/git/dotfiles/git/.config/git";
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
in {
|
||||
"git" = createDotLink "git";
|
||||
"niri" = createDotLink "niri";
|
||||
"jj" = createDotLink "jj";
|
||||
"helix" = createDotLink "helix";
|
||||
"ghostty" = createDotLink "ghostty";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
jujutsu
|
||||
ansible
|
||||
awscli2
|
||||
cargo-cross
|
||||
rustup
|
||||
rustc
|
||||
gcc
|
||||
python3Packages.jedi-language-server
|
||||
ruff
|
||||
vial
|
||||
chromium
|
||||
];
|
||||
|
||||
@@ -1,4 +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";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -2,26 +2,17 @@
|
||||
|
||||
[user]
|
||||
name = "J. Fernando Sánchez"
|
||||
email = "j@sanchezrada.es"
|
||||
|
||||
[[--scope]]
|
||||
--when.repositories = ["~/git/work/tcs"]
|
||||
[--scope.user]
|
||||
name = "J. Fernando Sánchez"
|
||||
email = "f.sanchez@thechannelstore.tv"
|
||||
|
||||
[aliases]
|
||||
tug = ["bookmark", "move", "--from", "heads(::@- & bookmarks())", "--to", "@-"]
|
||||
l = ["log"]
|
||||
s = ["status"]
|
||||
f = ["git", "fetch"]
|
||||
p = ["git", "push"]
|
||||
[[--scope]]
|
||||
--when.repositories = ["~/git/personal/"]
|
||||
[--scope.user]
|
||||
email = "j@sanchezrada.es"
|
||||
|
||||
[ui]
|
||||
pager = "delta" #":builtin"
|
||||
diff-formatter=":git"
|
||||
paginate = "auto"
|
||||
default-command = ["log", "--reversed"]
|
||||
|
||||
[merge-tools.delta]
|
||||
diff-args=["--color-only", "--side-by-side", "$left", "$right", "--width=$width"]
|
||||
diff-args=["--side-by-side", "$left", "$right", "--width=$width"]
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@ output "DP-1" {
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout
|
||||
layout {
|
||||
// Set gaps around windows in logical pixels.
|
||||
gaps 0
|
||||
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
|
||||
@@ -295,10 +295,10 @@ layout {
|
||||
// Top and bottom struts will simply add outer gaps in addition to the area occupied by
|
||||
// layer-shell panels and regular gaps.
|
||||
struts {
|
||||
left 2
|
||||
right 2
|
||||
top 2
|
||||
bottom 2
|
||||
left 5
|
||||
right 5
|
||||
top 5
|
||||
bottom 5
|
||||
}
|
||||
}
|
||||
|
||||
@@ -314,9 +314,13 @@ workspace "teams" {
|
||||
open-on-output "eDP-1"
|
||||
}
|
||||
|
||||
workspace "notes" {
|
||||
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,
|
||||
@@ -351,7 +355,7 @@ animations {
|
||||
// off
|
||||
|
||||
// Slow down all animations by this factor. Values below 1 speed them up instead.
|
||||
slowdown 0.75
|
||||
slowdown 0.5
|
||||
}
|
||||
|
||||
// Window rules let you adjust behavior for individual windows.
|
||||
@@ -374,14 +378,12 @@ window-rule {
|
||||
// - host Firefox (app-id is "firefox")
|
||||
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
|
||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||
default-column-width {}
|
||||
open-floating true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id="firefox" title=r#".*Bitwarden.*"#
|
||||
match app-id=r#"firefox$"# title="Bitwarden"
|
||||
open-floating true
|
||||
block-out-from "screen-capture"
|
||||
}
|
||||
|
||||
// Example: block out two password managers from screen capture.
|
||||
@@ -424,7 +426,7 @@ binds {
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
|
||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||
Mod+return hotkey-overlay-title="Open a Terminal: ghostty" { spawn "ghostty"; }
|
||||
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"; }
|
||||
|
||||
@@ -457,15 +459,10 @@ binds {
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
|
||||
//Mod+Alt+H { move-window-left; }
|
||||
Mod+Alt+J { move-window-down; }
|
||||
//Mod+Alt+L { move-window-right; }
|
||||
Mod+Alt+K { move-window-up; }
|
||||
|
||||
Mod+Ctrl+H { move-column-left-or-to-monitor-left; }
|
||||
Mod+Ctrl+J { move-window-down; }
|
||||
Mod+Ctrl+L { move-column-right-or-to-monitor-right; }
|
||||
Mod+Ctrl+K { move-window-up; }
|
||||
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; }
|
||||
@@ -482,23 +479,30 @@ binds {
|
||||
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:
|
||||
Ctrl+Alt+H { move-workspace-to-monitor-left; }
|
||||
Ctrl+Alt+L { move-workspace-to-monitor-right; }
|
||||
Ctrl+Alt+J { move-workspace-to-monitor-down; }
|
||||
Ctrl+Alt+K { move-workspace-to-monitor-up; }
|
||||
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; }
|
||||
@@ -555,24 +559,24 @@ binds {
|
||||
// will all refer to the 3rd workspace.
|
||||
Mod+1 { focus-workspace "terminal"; }
|
||||
Mod+2 { focus-workspace "firefox"; }
|
||||
Mod+3 { focus-workspace "notes"; }
|
||||
//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+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 "notes"; }
|
||||
//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+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:
|
||||
@@ -596,7 +600,6 @@ binds {
|
||||
Mod+Shift+R { switch-preset-window-height; }
|
||||
Mod+Ctrl+R { reset-window-height; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+G { maximize-window-to-edges; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
|
||||
// Expand the focused column to space not taken up by other fully visible columns.
|
||||
|
||||
Reference in New Issue
Block a user