diff --git a/flake.nix b/flake.nix index 12bd1ba..8f19386 100644 --- a/flake.nix +++ b/flake.nix @@ -51,6 +51,13 @@ ./home ]; }; + "till@romulus" = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlay; + extraSpecialArgs = { inherit inputs; }; + modules = [ + ./home/minimal.nix + ]; + }; alt = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlay; extraSpecialArgs = { inherit inputs; }; diff --git a/home/default.nix b/home/default.nix index 3c2f2f2..c9db546 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,80 +1,22 @@ { config, pkgs, inputs, lib, ... }: { - home.username = "till"; - home.homeDirectory = "/home/till"; - home.stateVersion = "22.11"; - - nixpkgs = { - config = { - allowUnfree = true; - allowUnfreePredicate = (_: true); - }; - }; - - programs.home-manager.enable = true; - - xdg.userDirs = { - enable = true; - createDirectories = true; - download = "${config.home.homeDirectory}/tmp"; - music = "${config.home.homeDirectory}/media/music"; - pictures = "${config.home.homeDirectory}/media/img"; - videos = "${config.home.homeDirectory}/media/vid"; - documents = "${config.home.homeDirectory}/misc"; - templates = "${config.xdg.dataHome}/templates"; - }; - - home.file.".npmrc".text = '' - prefix = ${config.xdg.dataHome}/npm/packages - ''; - - xdg.configFile."castget/castget.conf".source = ./castget/castget.conf; home.packages = with pkgs; [ - # commandline - fzf - jq - progress - silver-searcher - tmux - wl-clipboard - # messenger - mattermost-desktop + element-desktop signal-desktop tdesktop - element-desktop - whatsapp-for-linux - - # email - msmtp - notmuch - # isync - w3m - openssl - gnupg - urlscan # office - khal - khard - taskopen okular xournalpp evolution # text publishing - hunspell - hunspellDicts.de_DE - hunspellDicts.en_US - hunspellDicts.th_TH - hyphen libreoffice - pandoc poppler_utils - zathura zotero # graphics @@ -93,85 +35,18 @@ # media bookworm - castget - freetube - qbittorrent mindustry - rhythmbox - vlc - yt-dlp - # development - bundler - bundix - nodejs - android-studio - netlify-cli - appimage-run - - # secrets - libsecret - keepassxc - yubikey-manager-qt ]; imports = [ - ./alias.nix - ./calendars.nix - ./desktop + ./minimal.nix + ./gnome ./firefox.nix - ./fish.nix - ./foot.nix - ./mail - ./nvim - ./openconnect.nix - ./r.nix ./tex.nix - ./tmux ]; - programs.nix-index = { - enable = true; - enableFishIntegration = true; - }; - - programs.git = { - enable = true; - userName = "Till"; - userEmail = "till@ktiu.net"; - lfs = { - enable = true; - }; - extraConfig = { - init = { - defaultBranch = "main"; - }; - }; - }; - - programs.taskwarrior = { - enable = true; - dataLocation = "${config.xdg.dataHome}/taskwarrior/tasks"; - colorTheme = "light-256"; - config = { - report.list.columns = ["id" "depends.indicator" "priority" "project" "recur.indicator" "scheduled.countdown" "due" "until.age" "status.short" "description.count" "tags"]; - report.list.labels= ["ID" "D" "Prio" "Proj" "R" "Scheduled" "Due" "Until" "S" "Description" "Tags"]; - }; - extraConfig = " - hooks.location=${config.xdg.dataHome}/taskwarrior/hooks - verbose=affected,context,edit,label,header,new-id,project,special,sync,recur - "; - }; - - programs.bottom = { - enable = true; - settings.flags.color = "default-light"; - }; - programs.obs-studio.enable = true; - services.opensnitch-ui.enable = true; - services.syncthing.enable = true; - } diff --git a/home/desktop/default.nix b/home/gnome/default.nix similarity index 100% rename from home/desktop/default.nix rename to home/gnome/default.nix diff --git a/home/desktop/run-or-raise.conf b/home/gnome/run-or-raise.conf similarity index 100% rename from home/desktop/run-or-raise.conf rename to home/gnome/run-or-raise.conf diff --git a/home/minimal.nix b/home/minimal.nix new file mode 100644 index 0000000..95982fe --- /dev/null +++ b/home/minimal.nix @@ -0,0 +1,146 @@ +{ config, pkgs, inputs, lib, ... }: + +{ + home.username = "till"; + home.homeDirectory = "/home/till"; + home.stateVersion = "22.11"; + + nixpkgs = { + config = { + allowUnfree = true; + allowUnfreePredicate = (_: true); + }; + }; + + programs.home-manager.enable = true; + + xdg.userDirs = { + enable = true; + createDirectories = true; + download = "${config.home.homeDirectory}/tmp"; + music = "${config.home.homeDirectory}/media/music"; + pictures = "${config.home.homeDirectory}/media/img"; + videos = "${config.home.homeDirectory}/media/vid"; + documents = "${config.home.homeDirectory}/misc"; + templates = "${config.xdg.dataHome}/templates"; + }; + + home.file.".npmrc".text = '' + prefix = ${config.xdg.dataHome}/npm/packages + ''; + + xdg.configFile."castget/castget.conf".source = ./castget/castget.conf; + + home.packages = with pkgs; [ + + # commandline + fzf + jq + progress + silver-searcher + tmux + wl-clipboard + + # email + msmtp + notmuch + w3m + openssl + gnupg + urlscan + + # office + khal + khard + taskopen + zathura + + # publishing + hunspell + hunspellDicts.de_DE + hunspellDicts.en_US + hunspellDicts.th_TH + hyphen + pandoc + imagemagick + ghostscript + + # web + nyxt + mullvad-vpn + + # media + castget + freetube + qbittorrent + rhythmbox + vlc + yt-dlp + + # development + bundler + bundix + nodejs + android-studio + netlify-cli + appimage-run + + # secrets + libsecret + keepassxc + yubikey-manager-qt + ]; + + imports = [ + ./alias.nix + ./calendars.nix + ./fish.nix + ./foot.nix + ./tmux + ./mail + ./nvim + ./openconnect.nix + ./r.nix + ]; + + programs.nix-index = { + enable = true; + enableFishIntegration = true; + }; + + programs.git = { + enable = true; + userName = "Till"; + userEmail = "till@ktiu.net"; + lfs = { + enable = true; + }; + extraConfig = { + init = { + defaultBranch = "main"; + }; + }; + }; + + programs.taskwarrior = { + enable = true; + dataLocation = "${config.xdg.dataHome}/taskwarrior/tasks"; + colorTheme = "light-256"; + config = { + report.list.columns = ["id" "depends.indicator" "priority" "project" "recur.indicator" "scheduled.countdown" "due" "until.age" "status.short" "description.count" "tags"]; + report.list.labels= ["ID" "D" "Prio" "Proj" "R" "Scheduled" "Due" "Until" "S" "Description" "Tags"]; + }; + extraConfig = " + hooks.location=${config.xdg.dataHome}/taskwarrior/hooks + verbose=affected,context,edit,label,header,new-id,project,special,sync,recur + "; + }; + + programs.bottom = { + enable = true; + settings.flags.color = "default-light"; + }; + + services.syncthing.enable = true; +} +