refactoring home
This commit is contained in:
parent
f5db048f7a
commit
dd5c299bc6
@ -1,5 +1,47 @@
|
|||||||
{ ... }: {
|
{ pkgs, lib, ... }: {
|
||||||
imports = [
|
|
||||||
./home.nix
|
imports = [ ./programs ./packages ];
|
||||||
];
|
|
||||||
|
programs.home-manager = { enable = true; };
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "ivand";
|
||||||
|
homeDirectory = "/home/ivand";
|
||||||
|
stateVersion = "23.05";
|
||||||
|
sessionPath = [ "$HOME/.local/bin/" "$HOME/.local/share/pnpm" ];
|
||||||
|
pointerCursor = {
|
||||||
|
name = "Bibata-Modern-Amber";
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
};
|
||||||
|
file = {
|
||||||
|
".local/bin/ec" = {
|
||||||
|
text = ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
emacsclient -c -a 'emacs'
|
||||||
|
'';
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile = {
|
||||||
|
"nix/nix.conf" = {
|
||||||
|
text = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"user-dirs.dirs" = {
|
||||||
|
source = pkgs.writeText "user-dirs.dirs" ''
|
||||||
|
XDG_DESKTOP_DIR="dt"
|
||||||
|
XDG_DOCUMENTS_DIR="doc"
|
||||||
|
XDG_DOWNLOAD_DIR="dl"
|
||||||
|
XDG_MUSIC_DIR="snd"
|
||||||
|
XDG_PICTURES_DIR="pic"
|
||||||
|
XDG_PUBLICSHARE_DIR="pub"
|
||||||
|
XDG_TEMPLATES_DIR="tp"
|
||||||
|
XDG_VIDEOS_DIR="vid"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services = { emacs = { enable = true; }; };
|
||||||
}
|
}
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
{ pkgs, lib, ... }: {
|
|
||||||
|
|
||||||
imports = [ ./programs ./packages ];
|
|
||||||
|
|
||||||
programs.home-manager = { enable = true; };
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "ivand";
|
|
||||||
homeDirectory = "/home/ivand";
|
|
||||||
stateVersion = "23.05";
|
|
||||||
sessionPath = [ "$HOME/.local/bin/" "$HOME/.local/share/pnpm" ];
|
|
||||||
pointerCursor = {
|
|
||||||
name = "Bibata-Modern-Amber";
|
|
||||||
package = pkgs.bibata-cursors;
|
|
||||||
};
|
|
||||||
file = {
|
|
||||||
".local/bin/ec" = {
|
|
||||||
text = ''
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
emacsclient -c -a 'emacs'
|
|
||||||
'';
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland = {
|
|
||||||
windowManager.sway = {
|
|
||||||
enable = true;
|
|
||||||
config = null;
|
|
||||||
extraConfig = builtins.readFile ../cfg/sway/config;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xdg.configFile = {
|
|
||||||
"nix/nix.conf" = {
|
|
||||||
text = ''
|
|
||||||
experimental-features = nix-command flakes
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
"user-dirs.dirs" = {
|
|
||||||
source = pkgs.writeText "user-dirs.dirs" ''
|
|
||||||
XDG_DESKTOP_DIR="dt"
|
|
||||||
XDG_DOCUMENTS_DIR="doc"
|
|
||||||
XDG_DOWNLOAD_DIR="dl"
|
|
||||||
XDG_MUSIC_DIR="snd"
|
|
||||||
XDG_PICTURES_DIR="pic"
|
|
||||||
XDG_PUBLICSHARE_DIR="pub"
|
|
||||||
XDG_TEMPLATES_DIR="tp"
|
|
||||||
XDG_VIDEOS_DIR="vid"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services = { emacs = { enable = true; }; };
|
|
||||||
}
|
|
@ -1,27 +1,42 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
imports = [
|
imports = [ ./neovim ./doom-emacs ./sway ./tmux.nix ./zsh.nix ];
|
||||||
./neovim
|
|
||||||
./doom-emacs
|
|
||||||
./git.nix
|
|
||||||
./tmux.nix
|
|
||||||
./kitty.nix
|
|
||||||
./swaylock.nix
|
|
||||||
./zsh.nix
|
|
||||||
./obs.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
thunderbird = {
|
thunderbird = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles = {
|
profiles = { ivan = { isDefault = true; }; };
|
||||||
ivan = {
|
|
||||||
isDefault = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
chromium = {
|
chromium = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.ungoogled-chromium;
|
package = pkgs.ungoogled-chromium;
|
||||||
};
|
};
|
||||||
|
swaylock = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
color = "000000";
|
||||||
|
line-color = "ffffff";
|
||||||
|
show-failed-attempts = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
plugins = with pkgs.obs-studio-plugins; [ wlrobs ];
|
||||||
|
};
|
||||||
|
kitty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
enable_tab_bar = false;
|
||||||
|
background_opacity = "0.96";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Ivan Dimitrov";
|
||||||
|
userEmail = "ivan@idimitrov.dev";
|
||||||
|
extraConfig = {
|
||||||
|
color.ui = "auto";
|
||||||
|
pull.rebase = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
{ ... }: {
|
{ pkgs, lib, ... }: {
|
||||||
imports = [
|
|
||||||
./doom.nix
|
home.packages = with pkgs; [
|
||||||
|
nodePackages_latest.prettier
|
||||||
|
nodePackages_latest.typescript
|
||||||
|
nodePackages_latest.typescript-language-server
|
||||||
|
nodePackages_latest."@tailwindcss/language-server"
|
||||||
|
nodePackages_latest."@prisma/language-server"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.doom-emacs = {
|
||||||
|
enable = true;
|
||||||
|
doomPrivateDir = ./doom.d;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
{ pkgs, lib, ... }: {
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
nodePackages_latest.prettier
|
|
||||||
nodePackages_latest.typescript
|
|
||||||
nodePackages_latest.typescript-language-server
|
|
||||||
nodePackages_latest."@tailwindcss/language-server"
|
|
||||||
nodePackages_latest."@prisma/language-server"
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.doom-emacs = {
|
|
||||||
enable = true;
|
|
||||||
doomPrivateDir = ./doom.d;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{ pkgs, lib, ... }: {
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Ivan Dimitrov";
|
|
||||||
userEmail = "ivan@idimitrov.dev";
|
|
||||||
extraConfig = {
|
|
||||||
color.ui = "auto";
|
|
||||||
pull.rebase = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{ pkgs, lib, ... }: {
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
enable_tab_bar = false;
|
|
||||||
background_opacity = "0.96";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,5 +1,47 @@
|
|||||||
{ ... }: {
|
{ pkgs, lib, ... }: {
|
||||||
imports = [
|
programs.neovim = {
|
||||||
./neovim.nix
|
enable = true;
|
||||||
|
viAlias = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
alejandra
|
||||||
|
black
|
||||||
|
go
|
||||||
|
gopls
|
||||||
|
libclang
|
||||||
|
lua
|
||||||
|
lua-language-server
|
||||||
|
nodePackages_latest.prettier
|
||||||
|
nodePackages_latest.typescript
|
||||||
|
nodePackages_latest.typescript-language-server
|
||||||
|
nodePackages_latest."@tailwindcss/language-server"
|
||||||
|
nodePackages_latest."@prisma/language-server"
|
||||||
|
python311Packages.python-lsp-black
|
||||||
|
python311Packages.python-lsp-server
|
||||||
|
ripgrep
|
||||||
|
rnix-lsp
|
||||||
|
stylua
|
||||||
];
|
];
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
nvim-surround
|
||||||
|
nvim-ts-autotag
|
||||||
|
vim-prisma
|
||||||
|
autoclose-nvim
|
||||||
|
barbar-nvim
|
||||||
|
cmp-nvim-lsp
|
||||||
|
comment-nvim
|
||||||
|
gitsigns-nvim
|
||||||
|
luasnip
|
||||||
|
nightfox-nvim
|
||||||
|
nvim-cmp
|
||||||
|
nvim-lspconfig
|
||||||
|
nvim-treesitter.withAllGrammars
|
||||||
|
nvim-web-devicons
|
||||||
|
plenary-nvim
|
||||||
|
telescope-nvim
|
||||||
|
telescope-nvim
|
||||||
|
toggleterm-nvim
|
||||||
|
vim-vinegar
|
||||||
|
];
|
||||||
|
extraLuaConfig = lib.fileContents ./nvim/init.lua;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
{ pkgs, lib, ... }: {
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
viAlias = true;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
alejandra
|
|
||||||
black
|
|
||||||
go
|
|
||||||
gopls
|
|
||||||
libclang
|
|
||||||
lua
|
|
||||||
lua-language-server
|
|
||||||
nodePackages_latest.prettier
|
|
||||||
nodePackages_latest.typescript
|
|
||||||
nodePackages_latest.typescript-language-server
|
|
||||||
nodePackages_latest."@tailwindcss/language-server"
|
|
||||||
nodePackages_latest."@prisma/language-server"
|
|
||||||
python311Packages.python-lsp-black
|
|
||||||
python311Packages.python-lsp-server
|
|
||||||
ripgrep
|
|
||||||
rnix-lsp
|
|
||||||
stylua
|
|
||||||
];
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
nvim-surround
|
|
||||||
nvim-ts-autotag
|
|
||||||
vim-prisma
|
|
||||||
autoclose-nvim
|
|
||||||
barbar-nvim
|
|
||||||
cmp-nvim-lsp
|
|
||||||
comment-nvim
|
|
||||||
gitsigns-nvim
|
|
||||||
luasnip
|
|
||||||
nightfox-nvim
|
|
||||||
nvim-cmp
|
|
||||||
nvim-lspconfig
|
|
||||||
nvim-treesitter.withAllGrammars
|
|
||||||
nvim-web-devicons
|
|
||||||
plenary-nvim
|
|
||||||
telescope-nvim
|
|
||||||
telescope-nvim
|
|
||||||
toggleterm-nvim
|
|
||||||
vim-vinegar
|
|
||||||
];
|
|
||||||
extraLuaConfig = lib.fileContents ./nvim/init.lua;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
{ pkgs, lib, ... }: {
|
|
||||||
programs.obs-studio = {
|
|
||||||
enable = true;
|
|
||||||
plugins = with pkgs.obs-studio-plugins; [ wlrobs ];
|
|
||||||
};
|
|
||||||
}
|
|
9
home/laptop/programs/sway/default.nix
Normal file
9
home/laptop/programs/sway/default.nix
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{ pkgs, lib, ... }: {
|
||||||
|
wayland = {
|
||||||
|
windowManager.sway = {
|
||||||
|
enable = true;
|
||||||
|
config = null;
|
||||||
|
extraConfig = builtins.readFile ./config;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -1,10 +0,0 @@
|
|||||||
{ pkgs, lib, ... }: {
|
|
||||||
programs.swaylock = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
color = "000000";
|
|
||||||
line-color = "ffffff";
|
|
||||||
show-failed-attempts = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
with import <nixpkgs> {};
|
|
||||||
mkShell {
|
|
||||||
NIX_LD_LIBRARY_PATH = lib.makeLibraryPath [
|
|
||||||
stdenv.cc.cc
|
|
||||||
];
|
|
||||||
NIX_LD = lib.fileContents "${stdenv.cc}/nix-support/dynamic-linker";
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user