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 = {
|
||||
enable = true;
|
||||
|
3010
flake.lock
3010
flake.lock
File diff suppressed because it is too large
Load diff
|
@ -4,8 +4,15 @@
|
|||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
# Hyprland WM
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
|
||||
# Neovim Package Manager
|
||||
nvf = {
|
||||
url = "github:notashelf/nvf";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -17,6 +24,7 @@
|
|||
# This should correspond to the hostname of the machine
|
||||
t0urn3s0l = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
|
||||
modules = [
|
||||
./hosts/t0urn3s0l/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
|
|
|
@ -116,8 +116,10 @@
|
|||
};
|
||||
|
||||
# Enable automatic login for the user.
|
||||
services.xserver.displayManager.autoLogin.enable = true;
|
||||
services.xserver.displayManager.autoLogin.user = "zuma";
|
||||
services.xserver.displayManager.autoLogin = {
|
||||
enable = true;
|
||||
user = "zuma";
|
||||
};
|
||||
|
||||
services.getty.autologinUser = "zuma";
|
||||
|
||||
|
@ -150,10 +152,11 @@
|
|||
dracula-theme # Dark theme
|
||||
dracula-icon-theme # Dark Icon theme
|
||||
mpv # Video player
|
||||
pavucontrol # Volume control
|
||||
|
||||
# Shell apps
|
||||
zsh
|
||||
starship
|
||||
zsh # Favorite shell so far
|
||||
starship # Shell prompt that goes fast
|
||||
neovim # <3
|
||||
git # <3 bis
|
||||
btop # HTOP on steroids
|
||||
|
|
|
@ -1,81 +1,18 @@
|
|||
{ config, pkgs, lib, inputs, ... }:
|
||||
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
home.username = "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.
|
||||
|
||||
# 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 = [
|
||||
../../commons/home-manager/hyprland.nix
|
||||
../../commons/home-manager/starship.nix
|
||||
../../commons/programs/hyprland.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 = {
|
||||
enable = true;
|
||||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue