From 309af998f3d9b2c94d79d6da87f7fa5658493ee1 Mon Sep 17 00:00:00 2001 From: Sneexy Date: Sun, 21 Apr 2024 10:56:24 -0500 Subject: [PATCH] chore: lots of changes related to packages --- flake.lock | 52 ++++----- nixos.nix | 65 ++++------- users/ruben/default.nix | 2 +- users/ruben/home.nix | 233 +-------------------------------------- users/ruben/packages.nix | 177 +++++++++++++++++++++++++++++ users/ruben/themes.nix | 57 ++++++++++ 6 files changed, 285 insertions(+), 301 deletions(-) create mode 100644 users/ruben/packages.nix create mode 100644 users/ruben/themes.nix diff --git a/flake.lock b/flake.lock index b00e2c0..d245074 100644 --- a/flake.lock +++ b/flake.lock @@ -68,11 +68,11 @@ "yafas": "yafas" }, "locked": { - "lastModified": 1713554347, - "narHash": "sha256-Li6DK5JqKesOhTBwSoqxWzOxUR0pcPxE/L7vVyEsZpM=", + "lastModified": 1713695093, + "narHash": "sha256-ByphxORPCWxBH4Tl4j13dP/HnYymcpsI8acgku+nZko=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "72c35184e8260a612b00977d0bb26d63cb385cb0", + "rev": "8cb2e4eb3422d099ce80c95accfbba917c45622d", "type": "github" }, "original": { @@ -269,11 +269,11 @@ ] }, "locked": { - "lastModified": 1713524465, - "narHash": "sha256-T1ZUTzBv5QHjus49MpKk/KJ8LEyJI1g+2NhwUhRT6bY=", + "lastModified": 1713566308, + "narHash": "sha256-7Y91t8pheIzjJveUMAPyeh5NOq5F49Nq4Hl2532QpJs=", "owner": "nix-community", "repo": "home-manager", - "rev": "b1a5b3d6a524c80c7dd20888bff227d52adf5f03", + "rev": "057117a401a34259c9615ce62218aea7afdee4d3", "type": "github" }, "original": { @@ -289,11 +289,11 @@ ] }, "locked": { - "lastModified": 1713566308, - "narHash": "sha256-7Y91t8pheIzjJveUMAPyeh5NOq5F49Nq4Hl2532QpJs=", + "lastModified": 1713713092, + "narHash": "sha256-rvyr6BBtn3cq5B/48rhJlbIOpxprwlO/71663sd9Gik=", "owner": "nix-community", "repo": "home-manager", - "rev": "057117a401a34259c9615ce62218aea7afdee4d3", + "rev": "2846d5230a3c3923618eabb367deaf8885df580f", "type": "github" }, "original": { @@ -311,11 +311,11 @@ ] }, "locked": { - "lastModified": 1713333160, - "narHash": "sha256-iz4Uz3vykqsZwIY2hxEMfRrc1DvBgxHVCfSxppuj40s=", + "lastModified": 1713606448, + "narHash": "sha256-JMKo6uoAcUip9N10a3r1T2IoLz+pUStwIFrsVW/R4MA=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "d3ce25a385ec7ed899ffb282d1e54ccb4ac9ef0d", + "rev": "96cbbcd3712a0cb7f128c54b21ec2af0950d88d0", "type": "github" }, "original": { @@ -337,11 +337,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1713499612, - "narHash": "sha256-IpvUlRDZkBXstPGwB1HDQWHwsUCUGybViAqD6G6siLc=", + "lastModified": 1713587469, + "narHash": "sha256-hzdBK0+RgfVGWFEOIKuAUv6P8p1k7wLIt6VBi/tX0RI=", "owner": "martinvonz", "repo": "jj", - "rev": "449fc423b864e5b83043b93f80114a793b05a9f2", + "rev": "cce1b9f00a60dd3cd03b3f360bb8be2b677914bc", "type": "github" }, "original": { @@ -374,11 +374,11 @@ ] }, "locked": { - "lastModified": 1713523626, - "narHash": "sha256-BJX9d+IXZsmfiOyZv3n3ujom/q5iEvisxNTtoZ8MYRk=", + "lastModified": 1713597873, + "narHash": "sha256-eA0rS7ZjLujv6bcFokzHeOuM6VFfEnY/2Guridclny0=", "owner": "YaLTeR", "repo": "niri", - "rev": "b98b95883def5cd726c1e96a006f9cd7498d1730", + "rev": "4fc80124ade72c8ff2b860b1ce4d51ba49a2be13", "type": "github" }, "original": { @@ -447,12 +447,12 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713297878, - "narHash": "sha256-hOkzkhLT59wR8VaMbh1ESjtZLbGi+XNaBN6h49SPqEc=", - "rev": "66adc1e47f8784803f2deb6cacd5e07264ec2d5c", - "revCount": 612742, + "lastModified": 1713537308, + "narHash": "sha256-XtTSSIB2DA6tOv+l0FhvfDMiyCmhoRbNB+0SeInZkbk=", + "rev": "5c24cf2f0a12ad855f444c30b2421d044120c66f", + "revCount": 614481, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.612742%2Brev-66adc1e47f8784803f2deb6cacd5e07264ec2d5c/018ef4da-799e-77b2-85e0-021f668dcfe1/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.614481%2Brev-5c24cf2f0a12ad855f444c30b2421d044120c66f/018efa00-a443-7f41-b371-ce568b5c7e9f/source.tar.gz" }, "original": { "type": "tarball", @@ -461,11 +461,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1713644944, - "narHash": "sha256-FSqn7ViV7Is3PS007parySkECEJMXf2yKChscPA37H8=", + "lastModified": 1713714588, + "narHash": "sha256-we51z5LsKV0ixSC33/zmVBMhH7KC18GLpSdhowu+s6s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f062160e7992516fb34eef4e497379a57c73c9b6", + "rev": "743a260c39234912bd03d5f436198243f0c4e454", "type": "github" }, "original": { diff --git a/nixos.nix b/nixos.nix index 2229147..cd2a08c 100644 --- a/nixos.nix +++ b/nixos.nix @@ -147,8 +147,6 @@ }; programs.xwayland.enable = true; - # we use flatpak - programs.firefox.enable = false; # Configure keymap in X11 services.xserver.xkb = { @@ -157,7 +155,7 @@ # don't install some of the default packages since i don't need them environment.plasma6.excludePackages = with pkgs.kdePackages; [ - plasma-browser-integration + elisa ]; environment.variables = { @@ -168,6 +166,7 @@ }; fonts = { + fontDir.enable = true; packages = with pkgs; [ noto-fonts lexend @@ -176,8 +175,10 @@ (nerdfonts.override {fonts = ["JetBrainsMono" "Iosevka" "FiraCode" "DroidSansMono"];}) noto-fonts-color-emoji ]; - fontconfig.defaultFonts = { - emoji = ["Noto Color Emoji"]; + fontconfig = { + defaultFonts = { + emoji = ["Noto Color Emoji"]; + }; }; }; @@ -197,41 +198,10 @@ wireplumber.enable = true; }; - # we like flatpaks + # flatpaks for the one time i'll need them for some reason services.flatpak.enable = true; - services.flatpak.remotes = lib.mkOptionDefault [ - { - name = "flathub-system"; - location = "https://dl.flathub.org/repo/flathub.flatpakrepo"; - } - ]; - - services.flatpak.update.auto.enable = true; - services.flatpak.uninstallUnmanaged = true; - # flatpak system packages - services.flatpak.packages = [ - "org.mozilla.firefox" - "org.mozilla.Thunderbird" - "com.ulduzsoft.Birdtray" - "org.libreoffice.LibreOffice" - "org.gimp.GIMP" - "org.inkscape.Inkscape" - "org.qbittorrent.qBittorrent" - ]; - - services.flatpak.overrides = { - global = { - Environment = { - GTK_THEME = "Catppuccin-Mocha-Compact-Green-Dark"; - ICON_THEME = "Papirus-Dark"; - XCURSOR_PATH = "/run/host/user-share/icons:/run/host/share/icons"; - XCURSOR_SIZE = "24"; - XCURSOR_THEME = "Bibata-Modern-Light"; - }; - }; - }; - + # system packages environment.systemPackages = with pkgs; [ git wget @@ -242,16 +212,12 @@ pinentry-curses kitty wezterm - bibata-cursors - papirus-icon-theme - #(catppuccin-papirus-folders.override { flavor = [ "mocha" ]; accent = [ "green" ]; }) - (catppuccin-kde.override { - flavour = ["mocha"]; - accents = ["green"]; - winDecStyles = ["modern"]; - }) + distrobox ]; + # firefox + programs.firefox.enable = true; + # steam programs.steam.enable = true; @@ -264,6 +230,13 @@ enableSSHSupport = true; }; + # podmen + virtualisation.podman = { + enable = true; + dockerCompat = true; + dockerSocket.enable = true; + }; + # virtualization stuff virtualisation.libvirtd = { enable = true; diff --git a/users/ruben/default.nix b/users/ruben/default.nix index a3a1d18..da73010 100644 --- a/users/ruben/default.nix +++ b/users/ruben/default.nix @@ -14,7 +14,7 @@ isNormalUser = true; description = "Ruben"; shell = pkgs.zsh; - extraGroups = ["wheel" "plugdev" "dialout" "libvirtd"] ++ (lib.optional config.networking.networkmanager.enable "networkmanager"); + extraGroups = ["wheel" "plugdev" "dialout" "libvirtd" "podman"] ++ (lib.optional config.networking.networkmanager.enable "networkmanager"); initialHashedPassword = "changeme"; openssh.authorizedKeys.keys = [''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO+V3b6oKMTLEBq8AKjdNF5ZwJGXuWTrS2u9QaEypBYP sneexy@disroot.org'']; diff --git a/users/ruben/home.nix b/users/ruben/home.nix index 212b6fa..de91f9c 100644 --- a/users/ruben/home.nix +++ b/users/ruben/home.nix @@ -21,8 +21,11 @@ # flatpaks home-manager flake flake-inputs.flatpaks.homeManagerModules.nix-flatpak - # catppuccin home-manager flake - flake-inputs.catppuccin.homeManagerModules.catppuccin + # user packages + ./packages.nix + + # theme config + ./themes.nix ]; home = { @@ -30,234 +33,8 @@ homeDirectory = "/home/ruben"; }; - # ╭─────────────────────────────────╮ - # │ __ _ _ _ │ - # │ / _| |__ _| |_ _ __ __ _| |__ │ - # │ | _| / _` | _| '_ \/ _` | / / │ - # │ |_| |_\__,_|\__| .__/\__,_|_\_\ │ - # │ |_| │ - # │ flatpak │ - # ╰─────────────────────────────────╯ - services.flatpak.remotes = lib.mkOptionDefault [ - { - name = "flathub-user"; - location = "https://dl.flathub.org/repo/flathub.flatpakrepo"; - } - ]; - - services.flatpak.update.auto.enable = true; - services.flatpak.uninstallUnmanaged = true; - # flatpak user packages - services.flatpak.packages = [ - "org.kde.kdenlive" - "org.kde.krita" - "org.nicotine_plus.Nicotine" - "org.kde.okteta" - "md.obsidian.Obsidian" - "io.github.martinrotter.rssguardlite" - "com.dec05eba.gpu_screen_recorder" - - "org.gajim.Gajim" - "in.cinny.Cinny" - "chat.revolt.RevoltDesktop" - "dev.vencord.Vesktop" - "org.signal.Signal" - - "page.kramo.Cartridges" - "org.prismlauncher.PrismLauncher" - "org.libretro.RetroArch" - "net.pcsx2.PCSX2" - "org.duckstation.DuckStation" - "net.kuribo64.melonDS" - "org.DolphinEmu.dolphin-emu" - "org.ppsspp.PPSSPP" - "io.github.dosbox-staging" - "com.usebottles.bottles" - "net.davidotek.pupgui2" - "com.github.Matoking.protontricks" - - "io.gitlab.azymohliad.WatchMate" - ]; - - services.flatpak.overrides = { - global = { - Context.filesystems = [ - "xdg-config/gtk-4.0:ro" - "xdg-config/gtk-3.0:ro" - "xdg-run/discord-ipc-*" - "xdg-run/.flatpak/dev.vencord.Vesktop:create" - "xdg-config/fontconfig:ro" - "~/.themes:ro" - "~/.local/share/themes:ro" - ]; - - Environment = { - GTK_THEME = "Catppuccin-Mocha-Compact-Green-Dark"; - ICON_THEME = "Papirus-Dark"; - XCURSOR_PATH = "/run/host/user-share/icons:/run/host/share/icons"; - XCURSOR_SIZE = "24"; - XCURSOR_THEME = "Bibata-Modern-Light"; - }; - }; - }; - - # ╭──────────────────────────────────────╮ - # │ _ │ - # │ _ __ __ _ __| |____ _ __ _ ___ ___ │ - # │ | '_ \/ _` / _| / / _` / _` / -_|_-< │ - # │ | .__/\__,_\__|_\_\__,_\__, \___/__/ │ - # │ |_| |___/ │ - # │ user packages │ - # ╰──────────────────────────────────────╯ - # Add stuff for your user as you see fit: - programs.neovim.enable = true; - home.packages = with pkgs; [ - btop - bat - duf - fastfetch - fd - delta - lsd - ripgrep - sd - starship - zoxide - - alejandra - cargo - usbutils - jq - ffmpeg_6-full - imagemagick - yt-dlp - mpdris2 - ncmpcpp - - mpv - nextcloud-client - obs-studio - joystickwake - ventoy-full - ]; - - # my preferred shell customized to my needs - # TODO: theres only oh-my-zsh support out of the box, figure out - # how to customize sheldon and starship - programs.zsh = { - enable = true; - history.size = 50000; - syntaxHighlighting.enable = true; - }; - - # fuzzy command finder, required by a decent amount of things - programs.fzf = { - enable = true; - enableZshIntegration = true; - catppuccin.enable = true; - }; - - programs.git = { - enable = true; - - userName = "Sneexy"; - userEmail = "sneexy@disroot.org"; - - signing.signByDefault = true; - signing.key = "A6C94D84D2DA13EE"; - - extraConfig = { - commit.verbose = true; - init.defaultBranch = "main"; - }; - }; - - programs.vscode = { - enable = true; - package = pkgs.vscodium; - - extensions = with pkgs.vscode-extensions; [ - esbenp.prettier-vscode - catppuccin.catppuccin-vsc - catppuccin.catppuccin-vsc-icons - arrterian.nix-env-selector - donjayamanne.githistory - ]; - - userSettings = { - "editor.fontFamily" = "\'JetBrainsMono Nerd Font\', \'Droid Sans Mono\', \'monospace\', monospace"; - "editor.fontSize" = 16; - "files.autoSave" = "onFocusChange"; - "editor.cursorBlinking" = "expand"; - "editor.cursorSmoothCaretAnimation" = "on"; - "window.dialogStyle" = "custom"; - "window.titleBarStyle" = "custom"; - "workbench.colorTheme" = "Catppuccin Mocha"; - "workbench.iconTheme" = "catppuccin-mocha"; - "catppuccin.accentColor" = "green"; - }; - }; - - # this is a got damn NEO VIMME HOUSE !! - home.sessionVariables = { - EDITOR = "nvim"; - }; - - # music!! - services.mpd = { - enable = true; - - dataDir = "/home/ruben/.config/mpd"; - musicDirectory = "/home/ruben/Music"; - playlistDirectory = "/home/ruben/.config/mpd/playlists"; - dbFile = "/home/ruben/.config/mpd/db"; - - extraConfig = '' - state_file_interval "120" - restore_paused "yes" - - audio_output { - type "pipewire" - name "PipeWire" - } - ''; - }; - xdg.userDirs.enable = true; - # ╭───────────────────────────────────────────╮ - # │ _ _ │ - # │ __ __ _| |_ _ __ _ __ _ _ __ __(_)_ _ │ - # │ / _/ _` | _| '_ \ '_ \ || / _/ _| | ' \ │ - # │ \__\__,_|\__| .__/ .__/\_,_\__\__|_|_||_| │ - # │ |_| |_| │ - # │ catppuccin │ - # ╰───────────────────────────────────────────╯ - - # catppuccin flavour - catppuccin.flavour = "mocha"; - - # catppuccin's gtk theme - gtk = { - enable = true; - theme = { - name = "Catppuccin-Mocha-Compact-Green-Dark"; - package = pkgs.catppuccin-gtk.override { - accents = ["green"]; - size = "compact"; - #tweaks = [ "rimless" "black" ]; - variant = "mocha"; - }; - }; - }; - - xdg.configFile = { - # required for catppuccin's gtk4 theme - "gtk-4.0/assets".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets"; - "gtk-4.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css"; - "gtk-4.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css"; - }; - # ╭───────────────────────────────────────────────╮ # │ _ __ _ │ # │ _ __ ___ __| |_ ___ __ ___ _ _ / _(_)__ _ │ diff --git a/users/ruben/packages.nix b/users/ruben/packages.nix new file mode 100644 index 0000000..3167e3e --- /dev/null +++ b/users/ruben/packages.nix @@ -0,0 +1,177 @@ +# ╭──────────────────────────────────────╮ +# │ _ │ +# │ _ __ __ _ __| |____ _ __ _ ___ ___ │ +# │ | '_ \/ _` / _| / / _` / _` / -_|_-< │ +# │ | .__/\__,_\__|_\_\__,_\__, \___/__/ │ +# │ |_| |___/ │ +# │ user packages │ +# ╰──────────────────────────────────────╯ +{ + inputs, + lib, + osConfig, + config, + pkgs, + flake-inputs, + ... +}: { + imports = [ + # catppuccin home-manager flake + flake-inputs.catppuccin.homeManagerModules.catppuccin + ]; + + # Add stuff for your user as you see fit: + programs.neovim.enable = true; + home.packages = with pkgs; [ + btop + bat + duf + fastfetch + fd + delta + lsd + ripgrep + sd + starship + zoxide + + alejandra + cargo + usbutils + jq + ffmpeg_6-full + imagemagick + figlet + yt-dlp + mpdris2 + ncmpcpp + + thunderbird + birdtray + kdePackages.kdenlive + krita + nicotine-plus + okteta + obsidian + rssguard + gpu-screen-recorder-gtk + + gajim + cinny-desktop + revolt-desktop + vesktop + signal-desktop + + cartridges + prismlauncher temurin-jre-bin-8 temurin-jre-bin-11 temurin-jre-bin + retroarch + pcsx2 + duckstation + melonDS + dolphin-emu + ppsspp-qt + dosbox-staging + bottles + protonup-qt + protontricks + + mpv + nextcloud-client + watchmate + obs-studio + joystickwake + ventoy-full + + (catppuccin-kde.override { + flavour = ["mocha"]; + accents = ["green"]; + winDecStyles = ["modern"]; + }) + #(catppuccin-papirus-folders.override { + # flavor = ["mocha"]; + # accent = ["green"]; + #}) + ]; + + # my preferred shell customized to my needs + # TODO: theres only oh-my-zsh support out of the box, figure out + # how to customize sheldon and starship + programs.zsh = { + enable = true; + history.size = 50000; + syntaxHighlighting.enable = true; + }; + + # fuzzy command finder, required by a decent amount of things + programs.fzf = { + enable = true; + enableZshIntegration = true; + catppuccin.enable = true; + }; + + programs.git = { + enable = true; + + userName = "Sneexy"; + userEmail = "sneexy@disroot.org"; + + signing.signByDefault = true; + signing.key = "A6C94D84D2DA13EE"; + + extraConfig = { + commit.verbose = true; + init.defaultBranch = "main"; + }; + }; + + programs.vscode = { + enable = true; + package = pkgs.vscodium; + + extensions = with pkgs.vscode-extensions; [ + esbenp.prettier-vscode + catppuccin.catppuccin-vsc + catppuccin.catppuccin-vsc-icons + arrterian.nix-env-selector + donjayamanne.githistory + ]; + + userSettings = { + "editor.fontFamily" = "\'JetBrainsMono Nerd Font\', \'Droid Sans Mono\', \'monospace\', monospace"; + "editor.fontSize" = 16; + "files.autoSave" = "onFocusChange"; + "editor.cursorBlinking" = "expand"; + "editor.cursorSmoothCaretAnimation" = "on"; + "window.dialogStyle" = "custom"; + "window.titleBarStyle" = "custom"; + "workbench.colorTheme" = "Catppuccin Mocha"; + "workbench.iconTheme" = "catppuccin-mocha"; + "catppuccin.accentColor" = "green"; + }; + }; + + # this is a got damn NEO VIMME HOUSE !! + home.sessionVariables = { + EDITOR = "nvim"; + }; + + # music!! + services.mpd = { + enable = true; + + dataDir = "/home/ruben/.config/mpd"; + musicDirectory = "/home/ruben/Music"; + playlistDirectory = "/home/ruben/.config/mpd/playlists"; + dbFile = "/home/ruben/.config/mpd/db"; + + extraConfig = '' + state_file_interval "120" + restore_paused "yes" + + audio_output { + type "pipewire" + name "PipeWire" + } + ''; + }; +} diff --git a/users/ruben/themes.nix b/users/ruben/themes.nix new file mode 100644 index 0000000..c5c56bb --- /dev/null +++ b/users/ruben/themes.nix @@ -0,0 +1,57 @@ +# ╭───────────────────────────────────────────╮ +# │ _ _ │ +# │ __ __ _| |_ _ __ _ __ _ _ __ __(_)_ _ │ +# │ / _/ _` | _| '_ \ '_ \ || / _/ _| | ' \ │ +# │ \__\__,_|\__| .__/ .__/\_,_\__\__|_|_||_| │ +# │ |_| |_| │ +# │ catppuccin │ +# ╰───────────────────────────────────────────╯ +{ + inputs, + lib, + osConfig, + config, + pkgs, + flake-inputs, + ... +}: { + imports = [ + # catppuccin home-manager flake + flake-inputs.catppuccin.homeManagerModules.catppuccin + ]; + + # catppuccin flavour + catppuccin.flavour = "mocha"; + + # gtk theme + gtk = { + enable = true; + theme = { + name = "Catppuccin-Mocha-Compact-Green-Dark"; + package = pkgs.catppuccin-gtk.override { + accents = ["green"]; + size = "compact"; + variant = "mocha"; + }; + }; + cursorTheme = { + name = "Bibata-Modern-Ice"; + package = pkgs.bibata-cursors; + }; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + font = { + name = "Lexend Deca"; + size = 10; + }; + }; + + xdg.configFile = { + # required for catppuccin's gtk4 theme + "gtk-4.0/assets".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets"; + "gtk-4.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css"; + "gtk-4.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css"; + }; +}