diff --git a/home/laptop/default.nix b/home/laptop/default.nix index 53f1072..2b93454 100644 --- a/home/laptop/default.nix +++ b/home/laptop/default.nix @@ -1,5 +1,47 @@ -{ ... }: { - imports = [ - ./home.nix - ]; +{ 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; + }; + }; + }; + + 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; }; }; } diff --git a/home/laptop/home.nix b/home/laptop/home.nix deleted file mode 100644 index c8b7fe0..0000000 --- a/home/laptop/home.nix +++ /dev/null @@ -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; }; }; -} diff --git a/home/laptop/programs/default.nix b/home/laptop/programs/default.nix index 7a89f6e..c07b1ba 100644 --- a/home/laptop/programs/default.nix +++ b/home/laptop/programs/default.nix @@ -1,27 +1,42 @@ { pkgs, ... }: { - imports = [ - ./neovim - ./doom-emacs - ./git.nix - ./tmux.nix - ./kitty.nix - ./swaylock.nix - ./zsh.nix - ./obs.nix - ]; + imports = [ ./neovim ./doom-emacs ./sway ./tmux.nix ./zsh.nix ]; programs = { thunderbird = { enable = true; - profiles = { - ivan = { - isDefault = true; - }; - }; + profiles = { ivan = { isDefault = true; }; }; }; chromium = { enable = true; 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; + }; + }; }; } diff --git a/home/laptop/programs/doom-emacs/default.nix b/home/laptop/programs/doom-emacs/default.nix index 0629ef8..8029846 100644 --- a/home/laptop/programs/doom-emacs/default.nix +++ b/home/laptop/programs/doom-emacs/default.nix @@ -1,5 +1,15 @@ -{ ... }: { - imports = [ - ./doom.nix +{ 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; + }; } diff --git a/home/laptop/programs/doom-emacs/doom.nix b/home/laptop/programs/doom-emacs/doom.nix deleted file mode 100644 index 8029846..0000000 --- a/home/laptop/programs/doom-emacs/doom.nix +++ /dev/null @@ -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; - }; -} diff --git a/home/laptop/programs/git.nix b/home/laptop/programs/git.nix deleted file mode 100644 index 231b963..0000000 --- a/home/laptop/programs/git.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, lib, ... }: { - programs.git = { - enable = true; - userName = "Ivan Dimitrov"; - userEmail = "ivan@idimitrov.dev"; - extraConfig = { - color.ui = "auto"; - pull.rebase = true; - }; - }; -} diff --git a/home/laptop/programs/kitty.nix b/home/laptop/programs/kitty.nix deleted file mode 100644 index 218d034..0000000 --- a/home/laptop/programs/kitty.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, lib, ... }: { - programs.kitty = { - enable = true; - settings = { - enable_tab_bar = false; - background_opacity = "0.96"; - }; - }; -} diff --git a/home/laptop/programs/neovim/default.nix b/home/laptop/programs/neovim/default.nix index c955873..776a590 100644 --- a/home/laptop/programs/neovim/default.nix +++ b/home/laptop/programs/neovim/default.nix @@ -1,5 +1,47 @@ -{ ... }: { - imports = [ - ./neovim.nix - ]; +{ 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; + }; } diff --git a/home/laptop/programs/neovim/neovim.nix b/home/laptop/programs/neovim/neovim.nix deleted file mode 100644 index 776a590..0000000 --- a/home/laptop/programs/neovim/neovim.nix +++ /dev/null @@ -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; - }; -} diff --git a/home/laptop/programs/obs.nix b/home/laptop/programs/obs.nix deleted file mode 100644 index 5e6a59c..0000000 --- a/home/laptop/programs/obs.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, lib, ... }: { - programs.obs-studio = { - enable = true; - plugins = with pkgs.obs-studio-plugins; [ wlrobs ]; - }; -} diff --git a/home/cfg/sway/config b/home/laptop/programs/sway/config similarity index 100% rename from home/cfg/sway/config rename to home/laptop/programs/sway/config diff --git a/home/laptop/programs/sway/default.nix b/home/laptop/programs/sway/default.nix new file mode 100644 index 0000000..8a3f97b --- /dev/null +++ b/home/laptop/programs/sway/default.nix @@ -0,0 +1,9 @@ +{ pkgs, lib, ... }: { + wayland = { + windowManager.sway = { + enable = true; + config = null; + extraConfig = builtins.readFile ./config; + }; + }; +} diff --git a/home/laptop/programs/swaylock.nix b/home/laptop/programs/swaylock.nix deleted file mode 100644 index 19c0081..0000000 --- a/home/laptop/programs/swaylock.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, lib, ... }: { - programs.swaylock = { - enable = true; - settings = { - color = "000000"; - line-color = "ffffff"; - show-failed-attempts = true; - }; - }; -} diff --git a/nix-ld.nix b/nix-ld.nix deleted file mode 100644 index 1e1b7a6..0000000 --- a/nix-ld.nix +++ /dev/null @@ -1,7 +0,0 @@ -with import {}; - mkShell { - NIX_LD_LIBRARY_PATH = lib.makeLibraryPath [ - stdenv.cc.cc - ]; - NIX_LD = lib.fileContents "${stdenv.cc}/nix-support/dynamic-linker"; - }