diff --git a/configuration.nix b/configuration.nix index c767210..0abc134 100644 --- a/configuration.nix +++ b/configuration.nix @@ -37,24 +37,16 @@ # Hostname networking.hostName = "primus"; - # KDE Partition Manager - programs.partition-manager.enable = true; - - # zsh - programs.zsh.enable = true; - users.defaultUserShell = pkgs.zsh; - programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; - - # WLAN networking.networkmanager.enable = true; - # Tailscale - services.tailscale.enable = true; - # Bluetooth hardware.bluetooth.enable = true; + programs.zsh.enable = true; + users.defaultUserShell = pkgs.zsh; + programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; + # i18n time.timeZone = "America/New_York"; i18n.defaultLocale = "en_US.UTF-8"; @@ -126,52 +118,9 @@ isNormalUser = true; description = "Álex Santiago"; extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; [ - anki-bin - audacity - corefonts - firefox - galaxy-buds-client - gimp - gummi - #itch (broken right now, try later) - kate - kdePackages.kleopatra - keepassxc - libqalculate - libreoffice - meslo-lgs-nf - monero-gui - obsidian - prismlauncher - protonmail-desktop - protonvpn-gui - qalculate-qt - qbittorrent-qt5 - session-desktop - signal-desktop-beta - smartgithg - tailscale-systray - telegram-desktop - tetrio-desktop - texliveFull - timer - vlc - vesktop - waydroid - ]; + packages = with pkgs; []; }; - # Steam - programs.steam.enable = true; - - # Overlays - nixpkgs.overlays = [(final: prev: { - vesktop = prev.vesktop.override { - withSystemVencord = false; - }; - })]; - # Allow unfree packages nixpkgs.config.allowUnfree = true; @@ -179,49 +128,20 @@ nix.settings.experimental-features = [ "nix-command" "flakes" ]; # System packages - environment.systemPackages = with pkgs; [ - android-tools - fastfetch - filelight - fortune-kind - git - htop - hyfetch - kdePackages.kdeconnect-kde - localsend - logitech-udev-rules - microcodeIntel - neofetch - nerdfonts - nfs-utils - noto-fonts-cjk-sans - noto-fonts-cjk-serif - papirus-icon-theme - qemu_kvm - qmk - spice-gtk - syncthing - syncthingtray - solaar - tailscale - tldr - unipicker - wget - yakuake - zsh - zsh-powerlevel10k - ]; + environment.systemPackages = with pkgs; []; # OpenSSH daemon services.openssh.enable = true; + #Tailscale + services.tailscale.enable = true; + + # Syncthing + services.syncthing.enable = true; + # Android Containers virtualisation.waydroid.enable = true; - # GnuPG - programs.gnupg.agent.enable = true; - services.pcscd.enable = true; - networking.firewall = { enable = true; allowedTCPPorts = [ 53317 ]; # LocalSend diff --git a/flake.lock b/flake.lock index d89cf35..7333ce0 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1718141734, + "narHash": "sha256-cA+6l8ZCZ7MXGijVuY/1f55+wF/RT4PlTR9+g4bx86w=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "892f76bd0aa09a0f7f73eb41834b8a904b6d0fad", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1716509168, @@ -18,6 +38,7 @@ }, "root": { "inputs": { + "home-manager": "home-manager", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index 2701bf9..ddb2c84 100644 --- a/flake.nix +++ b/flake.nix @@ -3,15 +3,21 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + home-manager.url = "github:nix-community/home-manager"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, ... }@inputs: { + outputs = { self, nixpkgs, home-manager, ... }@inputs: { nixosConfigurations.primus = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - # Import the previous configuration.nix we used, - # so the old configuration file still takes effect ./configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.alexuty = import ./home.nix; + } ]; }; }; diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..496d6a3 --- /dev/null +++ b/home.nix @@ -0,0 +1,72 @@ + { config, pkgs, ... }: + +{ + home.username = "alexuty"; + home.homeDirectory = "/home/alexuty"; + + home.packages = with pkgs; [ + anki-bin + audacity + corefonts + fastfetch + filelight + firefox + fortune-kind + galaxy-buds-client + gimp + gummi + git + htop + hyfetch + #itch (broken right now, try later) + kate + kdePackages.kdeconnect-kde + kdePackages.kleopatra + keepassxc + libqalculate + libreoffice + localsend + meslo-lgs-nf + monero-gui + nh + obsidian + papirus-icon-theme + prismlauncher + protonmail-desktop + protonvpn-gui + python312Packages.python-lsp-server + qalculate-qt + qbittorrent-qt5 + qemu_kvm + session-desktop + signal-desktop-beta + smartgithg + spice-gtk + steam + syncthing + syncthingtray + tailscale + tailscale-systray + telegram-desktop + tetrio-desktop + texliveFull + timer + tldr + unipicker + vlc + vesktop + waydroid + wget + yakuake + ]; + + programs.home-manager.enable = true; + + nixpkgs.overlays = [(final: prev: { + vesktop = prev.vesktop.override { + withSystemVencord = false; + }; + })]; + + home.stateVersion = "24.05"; +}