Compare commits
3 Commits
f68b89be0f
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
94fcdb812c | ||
|
84f9bf297f | ||
|
fa7041ff8b |
@@ -5,7 +5,7 @@ y = 15
|
|||||||
|
|
||||||
[font]
|
[font]
|
||||||
[font.normal]
|
[font.normal]
|
||||||
family = "DejaVu Sans Mono"
|
family = "IosevkaTerm"
|
||||||
style = "Regular"
|
style = "Regular"
|
||||||
|
|
||||||
[shell]
|
[shell]
|
||||||
|
@@ -97,9 +97,11 @@ font:
|
|||||||
# - (macOS) Menlo
|
# - (macOS) Menlo
|
||||||
# - (Linux/BSD) monospace
|
# - (Linux/BSD) monospace
|
||||||
# - (Windows) Consolas
|
# - (Windows) Consolas
|
||||||
# family: MesloLGS NF
|
# family: Hack Nerd Font
|
||||||
# family: Hack
|
# family: DejaVuSansM Nerd Font
|
||||||
family: DejaVu Sans Mono
|
# family: FiraCode Nerd Font
|
||||||
|
# family: IosevkaTerm Nerd Font
|
||||||
|
family: CaskaydiaCove NFM
|
||||||
|
|
||||||
# The `style` can be specified to pick a specific face.
|
# The `style` can be specified to pick a specific face.
|
||||||
style: Regular
|
style: Regular
|
||||||
|
@@ -1,2 +1,3 @@
|
|||||||
set -U fish_greeting
|
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
|
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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
162
home-manager/common.nix
Normal file
162
home-manager/common.nix
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
{ 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
|
||||||
|
helix
|
||||||
|
|
||||||
|
# Utils
|
||||||
|
jq
|
||||||
|
bat # Replacement for less
|
||||||
|
eza # Better ld
|
||||||
|
zoxide # better cd
|
||||||
|
yazi # File manager
|
||||||
|
ripgrep # Better search
|
||||||
|
fzf # Fuzzy file finder
|
||||||
|
|
||||||
|
zenith # System monitor
|
||||||
|
|
||||||
|
# Shells
|
||||||
|
fish
|
||||||
|
grc # Colorizer
|
||||||
|
fishPlugins.grc
|
||||||
|
starship
|
||||||
|
|
||||||
|
# Dev tools
|
||||||
|
git
|
||||||
|
lazygit
|
||||||
|
|
||||||
|
# Python
|
||||||
|
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
|
||||||
|
#
|
||||||
|
home.sessionVariables = {
|
||||||
|
# EDITOR = "emacs";
|
||||||
|
EDITOR = "nvim";
|
||||||
|
};
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
interactiveShellInit = ''set fish_greeting '';
|
||||||
|
plugins = [
|
||||||
|
{ name = "grc"; src = pkgs.fishPlugins.grc.src; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
add_newline = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
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
|
||||||
|
];
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Fernando Sánchez";
|
||||||
|
userEmail = "f.sanchez@thechannelstore.tv";
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@@ -7,6 +7,13 @@ in
|
|||||||
home.username = "j";
|
home.username = "j";
|
||||||
home.homeDirectory = "/home/j";
|
home.homeDirectory = "/home/j";
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
allowUnfreePredicate = (_: true);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# This value determines the Home Manager release that your
|
# This value determines the Home Manager release that your
|
||||||
# configuration is compatible with. This helps avoid breakage
|
# configuration is compatible with. This helps avoid breakage
|
||||||
# when a new Home Manager release introduces backwards
|
# when a new Home Manager release introduces backwards
|
||||||
@@ -21,10 +28,14 @@ in
|
|||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.htop
|
pkgs.htop
|
||||||
|
pkgs.zoom-us
|
||||||
pkgs.fortune
|
pkgs.fortune
|
||||||
pkgs.tmux
|
pkgs.tmux
|
||||||
pkgs.git
|
pkgs.git
|
||||||
|
pkgs.git-lfs
|
||||||
|
pkgs.hugo
|
||||||
pkgs.fish
|
pkgs.fish
|
||||||
|
pkgs.fd
|
||||||
pkgs.helix
|
pkgs.helix
|
||||||
pkgs.starship
|
pkgs.starship
|
||||||
pkgs.ripgrep
|
pkgs.ripgrep
|
||||||
@@ -32,9 +43,28 @@ in
|
|||||||
pkgs.ansible
|
pkgs.ansible
|
||||||
pkgs.ranger
|
pkgs.ranger
|
||||||
pkgs.sshpass
|
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
|
nixgl.auto.nixGLDefault
|
||||||
|
#(pkgs.python311.withPackages (p: with p; [
|
||||||
|
#jupyterlab
|
||||||
|
#matplotlib
|
||||||
|
#pandas
|
||||||
|
#openpyxl
|
||||||
|
#]))
|
||||||
pkgs.alacritty
|
pkgs.alacritty
|
||||||
(pkgs.nerdfonts.override { fonts = [ "FiraCode" "DejaVuSansMono" ]; })
|
pkgs.wezterm
|
||||||
|
pkgs.kitty
|
||||||
|
pkgs.zellij
|
||||||
|
(pkgs.nerdfonts.override { fonts = [ "Iosevka" "IosevkaTerm" "Hack" "CascadiaCode" "FiraCode" "DejaVuSansMono" ]; })
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
@@ -47,4 +77,5 @@ in
|
|||||||
lightline-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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
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
|
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