Add Nvim and Kitty config
This commit is contained in:
parent
4642299aae
commit
62ff6069b9
8 changed files with 3152 additions and 86 deletions
12
commons/programs/kitty.nix
Normal file
12
commons/programs/kitty.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
themeFile = "Dracula";
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
enable_audio_bell = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
99
commons/programs/neovim.nix
Normal file
99
commons/programs/neovim.nix
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
{ inputs, pkgs, ... }: {
|
||||||
|
imports = [ inputs.nvf.homeManagerModules.default ];
|
||||||
|
|
||||||
|
programs.nvf = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
vim = {
|
||||||
|
useSystemClipboard = true;
|
||||||
|
lineNumberMode = "number";
|
||||||
|
|
||||||
|
theme = {
|
||||||
|
enable = true;
|
||||||
|
name = "dracula";
|
||||||
|
};
|
||||||
|
|
||||||
|
options = {
|
||||||
|
# 2-space tabstop
|
||||||
|
tabstop = 2;
|
||||||
|
softtabstop = 2;
|
||||||
|
shiftwidth = 2;
|
||||||
|
expandtab = true;
|
||||||
|
autoindent = true;
|
||||||
|
smartindent = true;
|
||||||
|
breakindent = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
statusline.lualine.enable = true;
|
||||||
|
telescope.enable = true;
|
||||||
|
autocomplete.nvim-cmp.enable = true;
|
||||||
|
|
||||||
|
languages = {
|
||||||
|
enableLSP = true;
|
||||||
|
enableTreesitter = true;
|
||||||
|
|
||||||
|
# Who needs a resume when you can just look at enabled neovim LSP config
|
||||||
|
nix.enable = true;
|
||||||
|
ts.enable = true;
|
||||||
|
markdown.enable = true;
|
||||||
|
bash.enable = true;
|
||||||
|
css.enable = true;
|
||||||
|
html.enable = true;
|
||||||
|
python.enable = true;
|
||||||
|
tailwind.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
notes.obsidian = {
|
||||||
|
enable = true;
|
||||||
|
setupOpts = {
|
||||||
|
workspaces = [
|
||||||
|
{
|
||||||
|
name = "Obsidian-Brain";
|
||||||
|
path = "~/Documents/Obsidian-Brain";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
filetree.nvimTree = {
|
||||||
|
enable = true;
|
||||||
|
mappings = {
|
||||||
|
toggle = "<leader>e";
|
||||||
|
findFile = "<leader>ef";
|
||||||
|
};
|
||||||
|
setupOpts = {
|
||||||
|
actions.open_file.eject = true;
|
||||||
|
tab.sync.close = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
comments.comment-nvim = {
|
||||||
|
enable = true;
|
||||||
|
mappings = {
|
||||||
|
toggleCurrentLine = "<leader>/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
visuals = {
|
||||||
|
fidget-nvim.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
terminal.toggleterm = {
|
||||||
|
enable = true;
|
||||||
|
mappings.open = "<M-h>";
|
||||||
|
setupOpts.winbar.enabled = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
utility.images = {
|
||||||
|
image-nvim = {
|
||||||
|
enable = true;
|
||||||
|
setupOpts = {
|
||||||
|
backend = "kitty";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,17 @@
|
||||||
{ ... }: {
|
{ ... }: {
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
shellAliases = {
|
||||||
|
update = "sudo nixos-rebuild switch --flake /home/zuma/nix_files#t0urn3s0l";
|
||||||
|
};
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ "git" ];
|
||||||
|
theme = "robbyrussell";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
3010
flake.lock
3010
flake.lock
File diff suppressed because it is too large
Load diff
|
@ -4,8 +4,15 @@
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
# Hyprland WM
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
|
|
||||||
|
# Neovim Package Manager
|
||||||
|
nvf = {
|
||||||
|
url = "github:notashelf/nvf";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -17,6 +24,7 @@
|
||||||
# This should correspond to the hostname of the machine
|
# This should correspond to the hostname of the machine
|
||||||
t0urn3s0l = nixpkgs.lib.nixosSystem {
|
t0urn3s0l = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs;};
|
specialArgs = {inherit inputs;};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/t0urn3s0l/configuration.nix
|
./hosts/t0urn3s0l/configuration.nix
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
|
|
|
@ -116,8 +116,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable automatic login for the user.
|
# Enable automatic login for the user.
|
||||||
services.xserver.displayManager.autoLogin.enable = true;
|
services.xserver.displayManager.autoLogin = {
|
||||||
services.xserver.displayManager.autoLogin.user = "zuma";
|
enable = true;
|
||||||
|
user = "zuma";
|
||||||
|
};
|
||||||
|
|
||||||
services.getty.autologinUser = "zuma";
|
services.getty.autologinUser = "zuma";
|
||||||
|
|
||||||
|
@ -150,10 +152,11 @@
|
||||||
dracula-theme # Dark theme
|
dracula-theme # Dark theme
|
||||||
dracula-icon-theme # Dark Icon theme
|
dracula-icon-theme # Dark Icon theme
|
||||||
mpv # Video player
|
mpv # Video player
|
||||||
|
pavucontrol # Volume control
|
||||||
|
|
||||||
# Shell apps
|
# Shell apps
|
||||||
zsh
|
zsh # Favorite shell so far
|
||||||
starship
|
starship # Shell prompt that goes fast
|
||||||
neovim # <3
|
neovim # <3
|
||||||
git # <3 bis
|
git # <3 bis
|
||||||
btop # HTOP on steroids
|
btop # HTOP on steroids
|
||||||
|
|
|
@ -1,81 +1,18 @@
|
||||||
{ config, pkgs, lib, inputs, ... }:
|
{ config, pkgs, lib, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
|
||||||
# manage.
|
|
||||||
home.username = "zuma";
|
home.username = "zuma";
|
||||||
home.homeDirectory = "/home/zuma";
|
home.homeDirectory = "/home/zuma";
|
||||||
|
|
||||||
# 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 = "24.11"; # Please read the comment before changing.
|
home.stateVersion = "24.11"; # Please read the comment before changing.
|
||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
|
||||||
# environment.
|
|
||||||
home.packages = [
|
|
||||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
|
||||||
# # "Hello, world!" when run.
|
|
||||||
# pkgs.hello
|
|
||||||
|
|
||||||
# # 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
|
|
||||||
# '';
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../../commons/home-manager/hyprland.nix
|
../../commons/programs/hyprland.nix
|
||||||
../../commons/home-manager/starship.nix
|
../../commons/programs/zsh.nix
|
||||||
|
../../commons/programs/neovim.nix
|
||||||
|
../../commons/programs/kitty.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# 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/zuma/etc/profile.d/hm-session-vars.sh
|
|
||||||
#
|
|
||||||
home.sessionVariables = {
|
|
||||||
# EDITOR = "emacs";
|
|
||||||
};
|
|
||||||
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
platformTheme = "gtk";
|
platformTheme = "gtk";
|
||||||
|
@ -98,19 +35,5 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
shellAliases = {
|
|
||||||
update = "sudo nixos-rebuild switch --flake /home/zuma/nix_files#t0urn3s0l";
|
|
||||||
};
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [ "git" ];
|
|
||||||
theme = "robbyrussell";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue