diff --git a/.dotter/global.toml b/.dotter/global.toml index 14359f7..aa00ade 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -1,20 +1,20 @@ [default.files] -"conf.d/fish" = "~/.config/fish/" -"conf.d/utils" = "~/.local/bin/dotutils/" -"conf.d/ideavim" = "~/.ideavimrc" -'conf.d/astronvim/plugins' = "~/.config/nvim/lua/plugins/" -'conf.d/astronvim/community.lua' = "~/.config/nvim/lua/community.lua" -"conf.d/vimrc" = "~/.vimrc" -"conf.d/halig" = "~/.config/halig" -"conf.d/k9smocha.yaml" = "~/.config/k9s/skins/mocha.yaml" -"conf.d/sshconfig" = "~/.ssh/config" -"conf.d/gitconfig" = "~/.gitconfig" -"conf.d/allowed_signers" = "~/.ssh/allowed_signers" -"conf.d/topgrade.toml" = "~/.config/topgrade.toml" -"conf.d/kitty" = "~/.config/kitty" -"conf.d/bat" = "~/.config/bat" -"conf.d/mangohud.conf" = "~/.config/MangoHud/MangoHud.conf" -"conf.d/gamemode.ini" = "~/.config/gamemode.ini" -"conf.d/timewarrior.cfg" = "~/.config/timewarrior/timewarrior.cfg" -"conf.d/tmux.conf" = "~/.tmux.conf" -"conf.d/atuin.toml" = "~/.config/atuin/config.toml" +fish = "~/.config/fish/" +utils = "~/.local/bin/dotutils/" +ideavim = "~/.ideavimrc" +'astronvim/plugins' = "~/.config/nvim/lua/plugins/" +'astronvim/community.lua' = "~/.config/nvim/lua/community.lua" +vimrc = "~/.vimrc" +halig = "~/.config/halig" +"k9smocha.yaml" = "~/.config/k9s/skins/mocha.yaml" +sshconfig = "~/.ssh/config" +gitconfig = "~/.gitconfig" +allowed_signers = "~/.ssh/allowed_signers" +'topgrade.toml' = "~/.config/topgrade.toml" +kitty = "~/.config/kitty" +bat = "~/.config/bat" +'mangohud.conf' = "~/.config/MangoHud/MangoHud.conf" +"gamemode.ini" = "~/.config/gamemode.ini" +"timewarrior.cfg" = "~/.config/timewarrior/timewarrior.cfg" +"tmux.conf" = "~/.tmux.conf" +"atuin.toml" = "~/.config/atuin/config.toml" diff --git a/conf.d/7tv_settings_TWITCH-3_6_2025.json b/7tv_settings_TWITCH-3_6_2025.json similarity index 100% rename from conf.d/7tv_settings_TWITCH-3_6_2025.json rename to 7tv_settings_TWITCH-3_6_2025.json diff --git a/README.md b/README.md index 8cecec6..a6e8017 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ # dots -# limgrave - ```shell -sudo nixos-rebuild switch --flake ~/.dotfiles#limgrave --upgrade # first time -dotter # create dotfiles symlinks -nh os switch ~/.dotfiles/ # after -nh home switch ~/.dotfiles # home manager -``` \ No newline at end of file +pip install pipx ansible +ansible-playbook --ask-become-pass ansible/main.yml +dotter diff --git a/conf.d/allowed_signers b/allowed_signers similarity index 100% rename from conf.d/allowed_signers rename to allowed_signers diff --git a/ansible/main.yml b/ansible/main.yml new file mode 100644 index 0000000..611e1d9 --- /dev/null +++ b/ansible/main.yml @@ -0,0 +1,6 @@ +--- +- hosts: localhost + gather_facts: true + tasks: + - import_role: + name: packages diff --git a/ansible/requirements.yml b/ansible/requirements.yml new file mode 100644 index 0000000..052506b --- /dev/null +++ b/ansible/requirements.yml @@ -0,0 +1,2 @@ +collections: + - name: kewlfft.aur diff --git a/ansible/roles/packages/tasks/arch.yml b/ansible/roles/packages/tasks/arch.yml new file mode 100644 index 0000000..76f27da --- /dev/null +++ b/ansible/roles/packages/tasks/arch.yml @@ -0,0 +1,92 @@ +--- +- name: Install Arch packages + become: true + ansible.builtin.package: + name: + # gnome + - gnome + - gnome-extra + - gnome-bluetooth-3.0 + - gnome-control-center + - gnome-shell-extensions + - gnome-themes-extra + - gnome-browser-connector + - gnome-tweaks + + # dbs + - postgresql-client + - freetds + - unixodbc + + # work + - azure-cli + + # bluetooth + - bluez + - bluez-utils + - bluez-deprecated-tools + + # containers + - docker + - docker-buildx + - docker-compose + + # gayming + - steam + - steam-native-runtime + - mangohud + - lib32-mangohud + - gamemode + - lib32-gamemode + - mesa + + # utils + - python-virtualenv + - asciinema + - trash-cli + - git + - base-devel + - bubblewrap + - libseccomp + - xz + - shellcheck + - python-pipx + - python-gobject + + # fonts + - noto-fonts-cjk + - noto-fonts-emoji + - noto-fonts + - ttf-liberation + - ttf-inconsolata + - ttf-fira-code + + # misc + - networkmanager + - firefox + - lutris + - nodejs + - npm + - fd + - less + - timew + - man + state: present + +- name: Install aur packages + kewlfft.aur.aur: + name: + - visual-studio-code-bin + - python-pyodbc + - protonut-qt + - jetbrains-toolbox + - snapd + - gnome-shell-extension-dash-to-dock-git + - catppuccin-gtk-theme-mocha + - tree-sitter-git + - neovim-git + - papirus-icon-theme-git + - pop-launcher-git + state: present + tags: + - aur diff --git a/ansible/roles/packages/tasks/curlers.yml b/ansible/roles/packages/tasks/curlers.yml new file mode 100644 index 0000000..246e773 --- /dev/null +++ b/ansible/roles/packages/tasks/curlers.yml @@ -0,0 +1,6 @@ +--- +- name: Execute curl installers + ansible.builtin.shell: "curl -sSfL {{ item }} | bash" + loop: "{{ curl_install_urls }}" + tags: + - curl diff --git a/ansible/roles/packages/tasks/debian.yml b/ansible/roles/packages/tasks/debian.yml new file mode 100644 index 0000000..dd08c78 --- /dev/null +++ b/ansible/roles/packages/tasks/debian.yml @@ -0,0 +1,36 @@ +--- +- name: Install Debian packages + ansible.builtin.package: + name: + - rofi-dev + - g++ + - nodejs + - npm + - python3.11-venv + - parallel + - postgresql-client-common + - libnss3-tools + - hwinfo + - rsync + - nmap + - nodejs + - unixodbc + - unixodbc-dev + - freetds-bin + - freetds-common + - freetds-dev + - unzip + state: present + tags: + - debian + +- name: Install Debian GUI packages + ansible.builtin.package: + name: + - rofi-dev + - qalculate-gtk + - snapd + state: present + tags: + - debian + - gui diff --git a/ansible/roles/packages/tasks/flatpak.yml b/ansible/roles/packages/tasks/flatpak.yml new file mode 100644 index 0000000..b97374f --- /dev/null +++ b/ansible/roles/packages/tasks/flatpak.yml @@ -0,0 +1,24 @@ +--- +- name: Install flatpak packages + community.general.flatpak: + name: + - com.github.iwalton3.jellyfin-media-player + - com.stremio.Stremio + - dev.geopjr.Tuba + - org.telegram.desktop + - com.tutanota.Tutanota + - org.gnome.DejaDup + - com.bitwarden.desktop + - com.spotify.Client + - org.qbittorrent.qBittorrent + - app/com.nextcloud.desktopclient.nextcloud/x86_64/stable + - net.lutris.Lutris + - io.github.diegoivanme.flowtime + - org.gnome.Decibels + - net.davidotek.pupgui2 + - dev.vencord.Vesktop + - com.discordapp.Discord + - com.google.Chrome + - rest.insomnia.Insomnia + - com.github.neithern.g4music + method: "user" diff --git a/ansible/roles/packages/tasks/main.yml b/ansible/roles/packages/tasks/main.yml new file mode 100644 index 0000000..dd202e2 --- /dev/null +++ b/ansible/roles/packages/tasks/main.yml @@ -0,0 +1,90 @@ +- name: Install CLI os-agnostic packages + become: true + ansible.builtin.package: + name: + - git + - tmux + - python-pip + - fish + - rofi + - automake + - ncdu + - xclip + state: present + tags: + - agnostic + - cli + +- name: Install GUI os-agnostic packages + become: true + ansible.builtin.package: + name: + - mpv + - rofi + state: present + tags: + - agnostic + - gui + +- name: Install Arch packages + when: ansible_os_family == "Archlinux" + ansible.builtin.import_tasks: arch.yml + tags: + - arch + + +- name: Install Debian packages + become: true + when: ansible_os_family == "Debian" + ansible.builtin.import_tasks: debian.yml + + tags: + - debian + +- name: Install RHEL packages + become: true + when: ansible_os_family in ["RedHat", "Nobara"] + ansible.builtin.import_tasks: rhel.yaml + tags: + - rhel + +- name: Curl installers + become: false + ansible.builtin.import_tasks: curlers.yml + vars: + curl_install_urls: + - https://raw.githubusercontent.com/aquaproj/aqua-installer/v3.0.1/aqua-installer + - https://astral.sh/uv/install.sh + + tags: + - curl + +- name: Curl GUI installers + become: false + ansible.builtin.import_tasks: curlers.yml + vars: + curl_install_urls: + - https://sw.kovidgoyal.net/kitty/installer.sh + - https://zed.dev/install.sh | ZED_CHANNEL=preview + tags: + - gui + - curl + + +- name: Install Python packages + ansible.builtin.import_tasks: python.yml + tags: + - python + +- name: Install Flatpak packages + ansible.builtin.import_tasks: flatpak.yml + tags: + - flatpak + - gui + +- name: Install Snap packages + become: true + ansible.builtin.import_tasks: snap.yml + tags: + - snap + - gui diff --git a/ansible/roles/packages/tasks/python.yml b/ansible/roles/packages/tasks/python.yml new file mode 100644 index 0000000..7cfbd65 --- /dev/null +++ b/ansible/roles/packages/tasks/python.yml @@ -0,0 +1,15 @@ +--- +- name: Install pipx packages + community.general.pipx: + name: "{{ item }}" + state: latest + loop: + - yt-dlp + - pdm + - poetry + - halig + - pre-commit + - ruff + - thefuck + - streamlink + - tldr diff --git a/ansible/roles/packages/tasks/rhel.yaml b/ansible/roles/packages/tasks/rhel.yaml new file mode 100644 index 0000000..ce2a288 --- /dev/null +++ b/ansible/roles/packages/tasks/rhel.yaml @@ -0,0 +1,13 @@ +--- +- name: Install RHEL packages + ansible.builtin.package: + name: + - rofi-devel + - qalculate + - automake + - libtool + - cheat + - gcc-c++ + - neovim + - python3-neovim + state: present diff --git a/ansible/roles/packages/tasks/snap.yml b/ansible/roles/packages/tasks/snap.yml new file mode 100644 index 0000000..ac6fae6 --- /dev/null +++ b/ansible/roles/packages/tasks/snap.yml @@ -0,0 +1,5 @@ +--- +- name: Install snaps packages + community.general.snap: + name: + - acestreamplayer diff --git a/conf.d/astronvim/community.lua b/astronvim/community.lua similarity index 100% rename from conf.d/astronvim/community.lua rename to astronvim/community.lua diff --git a/conf.d/astronvim/plugins/astrocore.lua b/astronvim/plugins/astrocore.lua similarity index 100% rename from conf.d/astronvim/plugins/astrocore.lua rename to astronvim/plugins/astrocore.lua diff --git a/conf.d/astronvim/plugins/astrolsp.lua b/astronvim/plugins/astrolsp.lua similarity index 100% rename from conf.d/astronvim/plugins/astrolsp.lua rename to astronvim/plugins/astrolsp.lua diff --git a/conf.d/astronvim/plugins/astroui.lua b/astronvim/plugins/astroui.lua similarity index 100% rename from conf.d/astronvim/plugins/astroui.lua rename to astronvim/plugins/astroui.lua diff --git a/conf.d/astronvim/plugins/catppuccin.lua b/astronvim/plugins/catppuccin.lua similarity index 100% rename from conf.d/astronvim/plugins/catppuccin.lua rename to astronvim/plugins/catppuccin.lua diff --git a/conf.d/astronvim/plugins/grug-far.lua b/astronvim/plugins/grug-far.lua similarity index 100% rename from conf.d/astronvim/plugins/grug-far.lua rename to astronvim/plugins/grug-far.lua diff --git a/conf.d/atuin.toml b/atuin.toml similarity index 100% rename from conf.d/atuin.toml rename to atuin.toml diff --git a/conf.d/bat/themes/Catppuccin-mocha.tmTheme b/bat/themes/Catppuccin-mocha.tmTheme similarity index 100% rename from conf.d/bat/themes/Catppuccin-mocha.tmTheme rename to bat/themes/Catppuccin-mocha.tmTheme diff --git a/conf.d/utils/gs.sh b/conf.d/utils/gs.sh deleted file mode 100755 index 1e51c1c..0000000 --- a/conf.d/utils/gs.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash -set -xeuo pipefail - -gamescopeArgs=( - --adaptive-sync # VRR support - --hdr-enabled - --mangoapp # performance overlay - --rt - --steam -) -steamArgs=( - -pipewire-dmabuf - -tenfoot -) -mangoConfig=( - cpu_temp - gpu_temp - ram - vram -) -mangoVars=( - MANGOHUD=1 - MANGOHUD_CONFIG="$(IFS=,; echo "${mangoConfig[*]}")" -) - -export "${mangoVars[@]}" -exec gamescope "${gamescopeArgs[@]}" -- steam "${steamArgs[@]}" \ No newline at end of file diff --git a/conf.d/fish/conf.d/aliases.fish b/fish/conf.d/aliases.fish similarity index 100% rename from conf.d/fish/conf.d/aliases.fish rename to fish/conf.d/aliases.fish diff --git a/conf.d/fish/conf.d/common.fish b/fish/conf.d/common.fish similarity index 100% rename from conf.d/fish/conf.d/common.fish rename to fish/conf.d/common.fish diff --git a/conf.d/fish/conf.d/functions.fish b/fish/conf.d/functions.fish similarity index 50% rename from conf.d/fish/conf.d/functions.fish rename to fish/conf.d/functions.fish index cb41427..3d33bef 100644 --- a/conf.d/fish/conf.d/functions.fish +++ b/fish/conf.d/functions.fish @@ -77,71 +77,8 @@ function gur end function nix_upgrade - # Upgrade this system based on hostname matching the flake host. - # Works on both NixOS (nixos-rebuild) and non-NixOS (Home Manager). - # Usage: nix_upgrade [host-override] - - set -l flake_path /home/catalin/.dotfiles/nix - - # Determine host either from arg or from the machine hostname - if set -q argv[1] - set -l host $argv[1] - else - set -l host (hostname -s) - if test $status -ne 0 -o -z "$host" - set host (hostname) - end - end - - if not test -f $flake_path/flake.nix - echo "Error: flake not found at $flake_path/flake.nix" - return 1 - end - - # Detect if we are on NixOS - set -l is_nixos 0 - if test -f /etc/NIXOS - set is_nixos 1 - else if type -q nixos-version - set is_nixos 1 - end - - echo "Updating inputs for flake: $flake_path" - # On non-NixOS this usually doesn't require sudo; on NixOS it might. - if test $is_nixos -eq 1 - sudo nix flake update --flake $flake_path - else - nix flake update --flake $flake_path - end - - if test $is_nixos -eq 1 - # NixOS path: verify host exists under nixosConfigurations (heuristic) - if not grep -Eq "^[[:space:]]*$host[[:space:]]*=[[:space:]]*lib\\.nixosSystem" $flake_path/flake.nix - echo "Error: host '$host' not found in nixosConfigurations in $flake_path/flake.nix." - echo " Pass an explicit host: nix_upgrade " - return 1 - end - echo "Rebuilding NixOS for host: $host" - sudo nixos-rebuild switch --flake $flake_path#$host --upgrade - else - # non-NixOS path: try Home Manager via flake's homeConfigurations - if not grep -q "homeConfigurations" $flake_path/flake.nix - echo "Error: no homeConfigurations found in flake; cannot upgrade on non-NixOS." - return 1 - end - # Best-effort heuristic that the host exists as a home configuration - if not grep -Eq "^[[:space:]]*$host[[:space:]]*=" $flake_path/flake.nix - echo "Warning: host '$host' not explicitly found; attempting Home Manager switch anyway." - end - - echo "Rebuilding Home Manager for host: $host" - if type -q home-manager - home-manager switch --flake $flake_path#$host - else - # Fallback: use nix to run HM - nix run github:nix-community/home-manager -- switch --flake $flake_path#$host - end - end + sudo nix flake update --flake /home/catalin/.dotfiles/nix/ + sudo nixos-rebuild switch --flake /home/catalin/.dotfiles/nix/ --upgrade end function delete_line diff --git a/conf.d/fish/conf.d/kubectl.fish b/fish/conf.d/kubectl.fish similarity index 100% rename from conf.d/fish/conf.d/kubectl.fish rename to fish/conf.d/kubectl.fish diff --git a/conf.d/fish/conf.d/paths.fish b/fish/conf.d/paths.fish similarity index 100% rename from conf.d/fish/conf.d/paths.fish rename to fish/conf.d/paths.fish diff --git a/flake.lock b/flake.lock deleted file mode 100644 index 786d640..0000000 --- a/flake.lock +++ /dev/null @@ -1,82 +0,0 @@ -{ - "nodes": { - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1770260404, - "narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-25.11", - "repo": "home-manager", - "type": "github" - } - }, - "nix-flatpak": { - "locked": { - "lastModified": 1767983141, - "narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=", - "owner": "gmodena", - "repo": "nix-flatpak", - "rev": "440818969ac2cbd77bfe025e884d0aa528991374", - "type": "github" - }, - "original": { - "owner": "gmodena", - "ref": "v0.7.0", - "repo": "nix-flatpak", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1770770419, - "narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "6c5e707c6b5339359a9a9e215c5e66d6d802fd7a", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "home-manager": "home-manager", - "nix-flatpak": "nix-flatpak", - "nixpkgs": "nixpkgs", - "systems": "systems" - } - }, - "systems": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.nix b/flake.nix deleted file mode 100644 index c929e03..0000000 --- a/flake.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ - description = "NixOS flake"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; - systems.url = "github:nix-systems/default-linux"; - nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.7.0"; - home-manager = { - url = "github:nix-community/home-manager/release-25.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - }; - - outputs = { self, nixpkgs, nix-flatpak, systems, home-manager, ... } @ inputs: let - inherit (self) outputs; - lib = nixpkgs.lib // home-manager.lib; - formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-tree; - forEachSystem = f: lib.genAttrs (import systems) (system: f pkgsFor.${system}); - pkgsFor = lib.genAttrs (import systems) ( - system: - import nixpkgs { - inherit system; - config.allowUnfree = true; - } - ); - - in { - inherit lib; - - - nixosConfigurations = { - limgrave = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;}; - modules = [ - nix-flatpak.nixosModules.nix-flatpak - ./hosts/limgrave/nixos - ]; - }; - }; - - homeConfigurations = { - "catalin@limgrave" = home-manager.lib.homeManagerConfiguration { - pkgs = pkgsFor.x86_64-linux; - extraSpecialArgs = {inherit inputs;}; - modules = [ - ./hosts/limgrave/home/home.nix - ]; - }; - }; - }; -} \ No newline at end of file diff --git a/conf.d/freetds.conf b/freetds.conf similarity index 100% rename from conf.d/freetds.conf rename to freetds.conf diff --git a/conf.d/gamemode.ini b/gamemode.ini similarity index 100% rename from conf.d/gamemode.ini rename to gamemode.ini diff --git a/conf.d/gitconfig b/gitconfig similarity index 100% rename from conf.d/gitconfig rename to gitconfig diff --git a/greenclip.toml b/greenclip.toml new file mode 100644 index 0000000..5346073 --- /dev/null +++ b/greenclip.toml @@ -0,0 +1,12 @@ +[greenclip] + history_file = "~/.cache/greenclip.history" + max_history_length = 50 + max_selection_size_bytes = 0 + trim_space_from_selection = true + use_primary_selection_as_input = false + blacklisted_applications = [] + enable_image_support = true + image_cache_directory = "/tmp/greenclip" + static_history = [ + '''¯\_(ツ)_/¯''', +] diff --git a/conf.d/halig/halig.yml b/halig/halig.yml similarity index 100% rename from conf.d/halig/halig.yml rename to halig/halig.yml diff --git a/hosts/limgrave/home/home.nix b/hosts/limgrave/home/home.nix deleted file mode 100644 index dbb8096..0000000 --- a/hosts/limgrave/home/home.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ - inputs, - lib, - config, - pkgs, - ... -}: { - home = { - username = "catalin"; - homeDirectory = "/home/catalin"; - shell.enableFishIntegration = true; - packages = with pkgs; [ - gnomeExtensions.user-themes - gnomeExtensions.caffeine - gnomeExtensions.colosseum - gnomeExtensions.dash-to-dock - gnomeExtensions.clipboard-indicator - gnomeExtensions.emoji-copy - gnomeExtensions.gsconnect - gnomeExtensions.bluetooth-battery-meter - gnome-tweaks - catppuccin-gtk - catppuccin-cursors - catppuccin-papirus-folders - catppuccin-grub - ]; - - }; - dconf = { - enable = true; - settings = { - "org/gnome/desktop/interface".color-scheme = "prefer-dark"; - "org/gnome/shell" = { - disable-user-extensions = false; - enabled-extensions = with pkgs.gnomeExtensions; [ - gsconnect.extensionUuid - user-themes.extensionUuid - caffeine.extensionUuid - colosseum.extensionUuid - dash-to-dock.extensionUuid - clipboard-indicator.extensionUuid - emoji-copy.extensionUuid - bluetooth-battery-meter.extensionUuid - ]; - }; - }; - }; - - - programs.gnome-shell = { - enable = true; - extensions = [{ package = pkgs.gnomeExtensions.gsconnect; }]; - }; - programs.home-manager.enable = true; - programs.git.enable = true; - systemd.user.startServices = "sd-switch"; - programs = { - fish.enable = true; - }; - - home.stateVersion = "25.11"; -} \ No newline at end of file diff --git a/hosts/limgrave/nixos/default.nix b/hosts/limgrave/nixos/default.nix deleted file mode 100644 index 0ff6831..0000000 --- a/hosts/limgrave/nixos/default.nix +++ /dev/null @@ -1,151 +0,0 @@ -{ config, pkgs, flatpaks, lib, ... }: - -{ - imports = - [ - ./hardware-configuration.nix - ]; - - boot = { - loader.systemd-boot.enable = true; - loader.efi.canTouchEfiVariables = true; - kernelPackages = pkgs.linuxPackages_latest; - initrd.luks.devices."luks-7565ba12-2da3-4933-adec-8d62e81afe52".device = "/dev/disk/by-uuid/7565ba12-2da3-4933-adec-8d62e81afe52"; - }; - - nix = { - settings.experimental-features = [ "nix-command" "flakes" ]; - settings.trusted-users = [ "root" "catalin" ]; - }; - - networking = { - hostName = "limgrave"; - networkmanager.enable = true; - }; - - services = { - xserver.enable = true; - desktopManager.gnome.enable = true; - displayManager.gdm.enable = true; - xserver.xkb = { - layout = "us"; - variant = ""; - }; - printing.enable = true; - pulseaudio.enable = false; - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - udev.packages = with pkgs; [ gnome-settings-daemon ]; - sysprof.enable = true; - flatpak = { - enable = true; - packages = import ./flatpaks.nix; - overrides = { - "org.signal.Signal" = { - Environment = { - "SIGNAL_PASSWORD_STORE" = "gnome-libsecret org.signal.Signal"; - }; - }; - }; - }; - - - }; - - programs = { - fish.enable = true; - appimage.enable = true; - appimage.binfmt = true; - dconf.enable = true; - gamescope = { - enable = true; - capSysNice = true; - }; - steam = { - enable = true; - gamescopeSession.enable = true; - remotePlay.openFirewall = true; - package = pkgs.steam.override { - extraLibraries = p: with p; [ (lib.getLib networkmanager) ]; - }; - }; - firefox.enable = true; - nix-ld.enable = true; - nh = { - enable = true; - clean.enable = true; - clean.extraArgs = "--keep-since 4d --keep 3"; - flake = "/home/.dotfiles"; - }; - }; - - - time.timeZone = "Europe/Madrid"; - i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "es_ES.UTF-8"; - LC_IDENTIFICATION = "es_ES.UTF-8"; - LC_MEASUREMENT = "es_ES.UTF-8"; - LC_MONETARY = "es_ES.UTF-8"; - LC_NAME = "es_ES.UTF-8"; - LC_NUMERIC = "es_ES.UTF-8"; - LC_PAPER = "es_ES.UTF-8"; - LC_TELEPHONE = "es_ES.UTF-8"; - LC_TIME = "es_ES.UTF-8"; - }; - - users = { - users.catalin = { - isNormalUser = true; - description = "catalin"; - extraGroups = [ "networkmanager" "wheel" "docker" "nas"]; - shell = pkgs.fish; - packages = with pkgs; [ - flatpak - ]; - }; - groups.nas.gid = 568; - }; - - - security.rtkit.enable = true; - - hardware = { - graphics = { - enable = true; - enable32Bit = true; - }; - }; - - - xdg.portal = { - enable = true; - config = { - common = { - default = [ - "gtk" - ]; - }; - }; - extraPortals = with pkgs; [ - xdg-desktop-portal-gtk - ]; - }; - virtualisation.docker.enable = true; - - nixpkgs.config.allowUnfree = true; - environment = { - sessionVariables.NIXOS_OZONE_WL = "1"; - systemPackages = import ./packages.nix pkgs; - loginShellInit = '' - [[ "$(tty)" = "/dev/tty1" ]] && ~/.dotfiles/conf.d/utils/gs.sh - ''; - }; - - - system.stateVersion = "25.11"; -} diff --git a/hosts/limgrave/nixos/flatpaks.nix b/hosts/limgrave/nixos/flatpaks.nix deleted file mode 100644 index 5afdc11..0000000 --- a/hosts/limgrave/nixos/flatpaks.nix +++ /dev/null @@ -1,22 +0,0 @@ -[ - "com.microsoft.Edge" - "dev.vencord.Vesktop" - "chat.revolt.RevoltDesktop" - "org.signal.Signal" - "io.github.hkdb.Aerion" - "io.github.mpobaschnig.Vaults" - "com.bitwarden.desktop" - "com.google.Chrome" - "org.jellyfin.JellyfinDesktop" - "net.lutris.Lutris" - "com.stremio.Stremio" - "org.musicbrainz.Picard" - "org.gimp.GIMP" - "org.qbittorrent.qBittorrent" - "com.tutanota.Tutanota" - "com.usebruno.Bruno" - "com.obsproject.Studio" - "org.kde.kdenlive" - "com.vysp3r.ProtonPlus" - "com.github.IsmaelMartinez.teams_for_linux" -] diff --git a/hosts/limgrave/nixos/hardware-configuration.nix b/hosts/limgrave/nixos/hardware-configuration.nix deleted file mode 100644 index 2050838..0000000 --- a/hosts/limgrave/nixos/hardware-configuration.nix +++ /dev/null @@ -1,54 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/mapper/luks-0e11cc3f-cf15-42a3-8356-12780ac991f6"; - fsType = "ext4"; - }; - - boot.initrd.luks.devices."luks-0e11cc3f-cf15-42a3-8356-12780ac991f6".device = "/dev/disk/by-uuid/0e11cc3f-cf15-42a3-8356-12780ac991f6"; - - fileSystems."/mnt/zeruel/nas1" = - { device = "zeruel.fuku:/mnt/pool1/nas1"; - fsType = "nfs"; - options = [ "x-systemd.automount" "noauto" ]; - }; - - - fileSystems."/mnt/windoze" = - { device = "/dev/disk/by-uuid/46B01460B01458AF"; - fsType = "ntfs-3g"; - options = [ "rw" "uid=1000"]; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/0362-9D53"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - fileSystems."/mnt/windoze2" = - { device = "/dev/disk/by-uuid/6084BE5384BE2B82"; - fsType = "ntfs-3g"; - options = [ "rw" "uid=1000"]; - }; - - swapDevices = - [ { device = "/dev/mapper/luks-7565ba12-2da3-4933-adec-8d62e81afe52"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/limgrave/nixos/packages.nix b/hosts/limgrave/nixos/packages.nix deleted file mode 100644 index f756872..0000000 --- a/hosts/limgrave/nixos/packages.nix +++ /dev/null @@ -1,78 +0,0 @@ - pkgs: with pkgs; [ - bat - git - neovim - jetbrains-toolbox - coder - kitty - steam - steam-run - mpv - gnumake - kubernetes-helm - opentofu - kubeseal - openssl - xclip - resticprofile - gnupg - awscli2 - kor - exiftool - gnome-themes-extra - hmcl - vlc - unrar-wrapper - atkinson-hyperlegible - libreoffice-qt - hunspell - hunspellDicts.es_ES - hunspellDicts.en_US - sqlite-interactive - ffmpeg - lrcget - yq - p7zip - ansible - k3sup - gamemode - lm_sensors - appimage-run - xcolor - samrewritten - protontricks - nmap - terragrunt - adwaita-icon-theme - ayugram-desktop - restic - pre-commit - cargo - inconsolata - k9s - kubectl - dotter - atuin - kubecolor - trash-cli - gnomeExtensions.appindicator - bruno - devenv - vim - direnv - marble-shell-theme - colloid-gtk-theme - colloid-icon-theme - sysprof - steam-run - streamlink - twitch-chat-downloader - jq - hmcl - tmux - tor - tor-browser - remmina - yt-dlp - mangohud - ] diff --git a/conf.d/ideavim b/ideavim similarity index 100% rename from conf.d/ideavim rename to ideavim diff --git a/conf.d/k9smocha.yaml b/k9smocha.yaml similarity index 100% rename from conf.d/k9smocha.yaml rename to k9smocha.yaml diff --git a/conf.d/kitty/kitty.conf b/kitty/kitty.conf similarity index 100% rename from conf.d/kitty/kitty.conf rename to kitty/kitty.conf diff --git a/conf.d/mangohud.conf b/mangohud.conf similarity index 100% rename from conf.d/mangohud.conf rename to mangohud.conf diff --git a/nix/configuration.nix b/nix/configuration.nix new file mode 100644 index 0000000..34f8211 --- /dev/null +++ b/nix/configuration.nix @@ -0,0 +1,171 @@ + +{ config, pkgs, pkgs-unstable, ... }: +{ imports = + [ + ./hardware-configuration.nix + ]; + nixpkgs.config.allowBroken = true; + nix.settings.download-buffer-size = 524288000; + nixpkgs.config.permittedInsecurePackages = ["electron-33.4.11" "mono-5.20.1.34"]; + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.supportedFilesystems = ["ntfs"]; + services.snap.enable = false; + networking.hostName = "limgrave"; + networking.networkmanager.enable = true; + environment.sessionVariables.MOZ_ENABLE_WAYLAND = 0; + time.timeZone = "Europe/Madrid"; + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "es_ES.UTF-8"; + LC_IDENTIFICATION = "es_ES.UTF-8"; + LC_MEASUREMENT = "es_ES.UTF-8"; + LC_MONETARY = "es_ES.UTF-8"; + LC_NAME = "es_ES.UTF-8"; + LC_NUMERIC = "es_ES.UTF-8"; + LC_PAPER = "es_ES.UTF-8"; + LC_TELEPHONE = "es_ES.UTF-8"; + LC_TIME = "es_ES.UTF-8"; + }; + networking.firewall = rec { + allowedTCPPortRanges = [ { from = 1714; to = 1764; } ]; + allowedUDPPortRanges = allowedTCPPortRanges; + }; + home-manager.users.catalin = { + programs.gnome-shell = { + enable = true; + extensions = [{ package = pkgs.gnomeExtensions.gsconnect; }]; + }; + dconf = { + enable = true; + settings."org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = with pkgs.gnomeExtensions; [ + gsconnect.extensionUuid + user-themes.extensionUuid + caffeine.extensionUuid + colosseum.extensionUuid + dash-to-dock.extensionUuid + clipboard-indicator.extensionUuid + emoji-copy.extensionUuid + bluetooth-battery-meter.extensionUuid + ]; + }; + }; + home = { + stateVersion = "24.11"; + enableNixpkgsReleaseCheck = false; + packages = with pkgs; [ + gnomeExtensions.user-themes + gnomeExtensions.caffeine + gnomeExtensions.colosseum + gnomeExtensions.dash-to-dock + gnomeExtensions.clipboard-indicator + gnomeExtensions.emoji-copy + gnomeExtensions.gsconnect + gnomeExtensions.bluetooth-battery-meter + gnome-tweaks + catppuccin-gtk + catppuccin-cursors + catppuccin-papirus-folders + catppuccin-grub + ]; + }; + }; + + services.xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + windowManager.openbox.enable = true; + + xkb = { + layout = "us"; + variant = ""; + }; + }; + + services.printing.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + hardware.graphics.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + users.users.catalin = { + isNormalUser = true; + description = "catalin"; + shell = pkgs.fish; + useDefaultShell = true; + extraGroups = [ "networkmanager" "wheel" "docker" "nas" ]; + packages = with pkgs; [ + flatpak + ]; + }; + users.groups.nas.gid = 568; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + services.flatpak.enable = true; + programs.nix-ld.enable = true; + environment.systemPackages = import ./packages.nix pkgs ; + programs = { + bash = { + interactiveShellInit = '' + if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] + then + shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" + exec ${pkgs.fish}/bin/fish $LOGIN_OPTION + fi + ''; + }; + fish.enable = true; + steam = { + enable = true; + package = pkgs.steam.override { + extraLibraries = p: with p; [(lib.getLib networkmanager)]; + }; + }; + }; + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + xdg.portal.config.common.default = "gtk"; + programs.mtr.enable = true; + programs.dconf.enable = true; + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + systemd.services.flatpak-repo = { + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.flatpak ]; + script = '' + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + ''; + }; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 1w"; + }; + fonts.packages = with pkgs; [ + atkinson-hyperlegible + ]; + boot.kernel.sysctl."net.ipv4.ip_forward" = 1; + services.openssh.enable = true; + services.tailscale.enable = true; + virtualisation.docker.enable = true; + networking.nameservers = [ "192.168.1.7" "1.1.1.1" ]; + nix.extraOptions = '' + trusted-users = root catalin + ''; + system.autoUpgrade.enable = true; + system.stateVersion = "24.11"; + +} diff --git a/nix/flake.lock b/nix/flake.lock new file mode 100644 index 0000000..41ec776 --- /dev/null +++ b/nix/flake.lock @@ -0,0 +1,184 @@ +{ + "nodes": { + "flake-compat": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747688870, + "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "d5f1f641b289553927b3801580598d200a501863", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.11", + "repo": "home-manager", + "type": "github" + } + }, + "nix-snapd": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1734935829, + "narHash": "sha256-/7Y+EZoU8O+N2PgEIvJKwp6qLBuwiOq3MeC0YLezX/w=", + "owner": "nix-community", + "repo": "nix-snapd", + "rev": "355a1ed0141b6fd3093e3cb7b3492e6e67913681", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-snapd", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1760862643, + "narHash": "sha256-PXwG0TM7Ek87DNx4LbGWuD93PbFeKAJs4FfALtp7Wo0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "33c6dca0c0cb31d6addcd34e90a63ad61826b28c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1733096140, + "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1760524057, + "narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nix-snapd": "nix-snapd", + "nixpkgs": "nixpkgs", + "spicetify-nix": "spicetify-nix", + "unstable": "unstable" + } + }, + "spicetify-nix": { + "inputs": { + "nixpkgs": "nixpkgs_2", + "systems": "systems" + }, + "locked": { + "lastModified": 1760848035, + "narHash": "sha256-H3MFH8+i4wFagkebtHPcosQdkmxQ4a6fl1lMbLb+RkA=", + "owner": "Gerg-L", + "repo": "spicetify-nix", + "rev": "cde9f78ae705343a38f5d1d19ab34858b5e9caa9", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "spicetify-nix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "unstable": { + "locked": { + "lastModified": 1760965567, + "narHash": "sha256-0JDOal5P7xzzAibvD0yTE3ptyvoVOAL0rcELmDdtSKg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "cb82756ecc37fa623f8cf3e88854f9bf7f64af93", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/nix/flake.nix b/nix/flake.nix new file mode 100644 index 0000000..6dfba30 --- /dev/null +++ b/nix/flake.nix @@ -0,0 +1,37 @@ +{ + description = "NixOS flake"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; + unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nix-snapd.url = "github:nix-community/nix-snapd"; + nix-snapd.inputs.nixpkgs.follows = "nixpkgs"; + spicetify-nix.url = "github:Gerg-L/spicetify-nix"; + home-manager = { + url = "github:nix-community/home-manager/release-24.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { self, nixpkgs, unstable, nix-snapd, home-manager, ... }: + let + system = "x86_64-linux"; + lib = nixpkgs.lib; + pkgs-unstable = unstable.legacyPackages.${system}; + in + { + nixosConfigurations.limgrave = nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = { inherit pkgs-unstable; }; + modules = [ + ./configuration.nix + nix-snapd.nixosModules.default + home-manager.nixosModules.home-manager + { + environment.systemPackages = [ + ]; + } + ]; + }; + }; +} diff --git a/nix/hardware-configuration.nix b/nix/hardware-configuration.nix new file mode 100644 index 0000000..7013bdc --- /dev/null +++ b/nix/hardware-configuration.nix @@ -0,0 +1,82 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/07b5dda3-2fcd-494b-893c-72301d637e9a"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/04FD-A91D"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + +# fileSystems."/snap/acestreamplayer/17" = +# { device = "/var/lib/snapd/snaps/acestreamplayer_17.snap"; +# fsType = "squashfs"; +# options = [ "loop" ]; +# }; +# +# fileSystems."/snap/core22/1722" = +# { device = "/var/lib/snapd/snaps/core22_1722.snap"; +# fsType = "squashfs"; +# options = [ "loop" ]; +# }; +# +# fileSystems."/snap/snapd/23258" = +# { device = "/var/lib/snapd/snaps/snapd_23258.snap"; +# fsType = "squashfs"; +# options = [ "loop" ]; +# }; +# + fileSystems."/mnt/zeruel/nas1" = + { device = "zeruel.fuku:/mnt/pool1/nas1"; + fsType = "nfs"; + options = [ "x-systemd.automount" "noauto" ]; + }; + + fileSystems."/mnt/zeruel/dcsi" = + { device = "zeruel.fuku:/mnt/pool1/dcsi"; + fsType = "nfs"; + options = [ "x-systemd.automount" "noauto" ]; + }; + + fileSystems."/mnt/windoze2" = + { device = "/dev/disk/by-uuid/6084BE5384BE2B82"; + fsType = "ntfs-3g"; + options = [ "rw" "uid=1000"]; + }; + fileSystems."/mnt/windoze" = + { device = "/dev/disk/by-uuid/46B01460B01458AF"; + fsType = "ntfs-3g"; + options = [ "rw" "uid=1000"]; + }; + swapDevices = + [ { device = "/dev/disk/by-uuid/03ecd98d-013f-4476-b43a-bcae0bc1de67"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.br-71a907d8e6fd.useDHCP = lib.mkDefault true; + # networking.interfaces.docker0.useDHCP = lib.mkDefault true; + # networking.interfaces.eno1.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/nix/packages.nix b/nix/packages.nix new file mode 100644 index 0000000..2cd15f1 --- /dev/null +++ b/nix/packages.nix @@ -0,0 +1,120 @@ +pkgs: with pkgs; [ + vim + wget + kitty + steam + steam-run + vesktop + protonup-qt + jellyfin-media-player + spotify + adwaita-icon-theme + fishPlugins.z + fishPlugins.tide + fishPlugins.transient-fish + fishPlugins.done + fishPlugins.colored-man-pages + lutris + telegram-desktop + leaf + restic + bitwarden + tmux + git + dotter + pre-commit + kubectl + krew + k9s + trashy + cargo + inconsolata + devenv + google-chrome + discord + topgrade + ruff + python311 + yt-dlp + mpv + gnumake + stremio + kubernetes-helm + opentofu + git-cliff + kubeseal + difftastic + unzip + openssl + xclip + jdk + fuse + prismlauncher + resticprofile + gnupg + awscli2 + r2modman + kor + exiftool + samrewritten + jetbrains-toolbox + atuin + hadolint + delta + bottom + bat + dust + eza + jq + popeye + kubecolor + kubeconform + kube-score + uv + chiaki-ng + gnome-themes-extra + tela-circle-icon-theme + docker-compose + neovim + obs-studio + ncdu + hmcl + rose-pine-gtk-theme + rose-pine-icon-theme + rose-pine-cursor + vlc + unrar-wrapper + atkinson-hyperlegible + libreoffice-qt + hunspell + hunspellDicts.es_ES + hunspellDicts.en_US + sqlite-interactive + direnv + ffmpeg + filezilla + lrcget + picard + asciinema + gimp + yq + qbittorrent + afetch + p7zip + ansible + k3sup + gamemode + lm_sensors + appimage-run + firefox-devedition + coder + xcolor + signal-desktop + element-desktop + pavucontrol + zapzap + altus + nexusmods-app + cargo + rustc +] diff --git a/conf.d/resticprofile.schema.json b/resticprofile.schema.json similarity index 100% rename from conf.d/resticprofile.schema.json rename to resticprofile.schema.json diff --git a/conf.d/resticprofile.toml b/resticprofile.toml similarity index 100% rename from conf.d/resticprofile.toml rename to resticprofile.toml diff --git a/conf.d/sshconfig b/sshconfig similarity index 72% rename from conf.d/sshconfig rename to sshconfig index ed7d333..97e637c 100644 --- a/conf.d/sshconfig +++ b/sshconfig @@ -119,14 +119,4 @@ Host fuku.dd02 Host fuku.dd01 HostName dd01.fuku User root - IdentityFile ~/.ssh/id_ed25519 -# --- START CODER JETBRAINS TOOLBOX mbcode.i.mercedes-benz.com -Host coder-jetbrains-toolbox-mbcode.i.mercedes-benz.com--* - ProxyCommand /home/catalin/.local/share/coder-toolbox/mbcode.i.mercedes-benz.com/coder-linux-amd64 --global-config /home/catalin/.local/share/coder-toolbox/mbcode.i.mercedes-benz.com/config --url https://mbcode.i.mercedes-benz.com/ ssh --stdio --network-info-dir /home/catalin/.local/share/coder-toolbox/ssh-network-metrics --usage-app=jetbrains --ssh-host-prefix coder-jetbrains-toolbox-mbcode.i.mercedes-benz.com-- %h - ConnectTimeout 0 - StrictHostKeyChecking no - UserKnownHostsFile /dev/null - LogLevel ERROR - SetEnv CODER_SSH_SESSION_TYPE=JetBrains - -# --- END CODER JETBRAINS TOOLBOX mbcode.i.mercedes-benz.com + IdentityFile ~/.ssh/id_ed25519 \ No newline at end of file diff --git a/conf.d/timewarrior.cfg b/timewarrior.cfg similarity index 100% rename from conf.d/timewarrior.cfg rename to timewarrior.cfg diff --git a/conf.d/tmux.conf b/tmux.conf similarity index 100% rename from conf.d/tmux.conf rename to tmux.conf diff --git a/conf.d/topgrade.toml b/topgrade.toml similarity index 100% rename from conf.d/topgrade.toml rename to topgrade.toml diff --git a/utils/asciify.sh b/utils/asciify.sh new file mode 100755 index 0000000..0f9e31d --- /dev/null +++ b/utils/asciify.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +ROOT=$(dirname "$(readlink -f "$0")") +tail +3 $ROOT/asciify.txt | rofi -eh 2 -dmenu | cut -f1 -d'|' | xargs | xclip -selection clipboard diff --git a/utils/asciify.txt b/utils/asciify.txt new file mode 100644 index 0000000..a1fe204 --- /dev/null +++ b/utils/asciify.txt @@ -0,0 +1,31 @@ +EMOTE| TAG +=============================== +¯\\_(ツ)_/¯| shrug +( ͡° ͜ʖ ͡°) | lemmyface +ಠ_ಠ| angry +(╯°□°)╯| more angry +༼ つ ◕_◕ ༽つ| gib +ᕕ( ᐛ )ᕗ | walk +(◉-◉)| nerd +(⌐⊙_⊙)| nerd2 +(ᄒ︹ᄒ)| sad +(῏Ṵ῏) | serious +(⌐■_■)| coolguy +( ႎ _ ႎ | sigh +( ၜ 𝄩 ၜ | kewl +ဨ(ၜ ͜ ၜ)| im listenin +(⨪_⨪)| meh +(⨪ˬ⨪)| :v +(𐨨𐭃𐨨)| hmpf +(৲ဓ―ဓ)৲| surething +(☞゚ヮ゚)☞| mahman +ԅ(≖‿≖ԅ)| creepy look +[̲̅$̲̅(̲̅ ͡° ͜ʖ ͡°̲̅)̲̅$̲̅]| skrilla +[̲̅$̲̅(̲̅ιο̲̅̅)̲̅$̲̅]| dollar +ಥ_ಥ| cryin +(⊙_☉)| derp +ლ(ಠ_ಠლ)| why +(ง •̀_•́)ง| fite me +(👁 ͜ʖ👁)| im looking, respectfully +†| cross + diff --git a/utils/curl2tar.sh b/utils/curl2tar.sh new file mode 100755 index 0000000..27fae06 --- /dev/null +++ b/utils/curl2tar.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -eou pipefail + +curl -L $1 | tar xvzf - diff --git a/utils/dlm.sh b/utils/dlm.sh new file mode 100755 index 0000000..135aa66 --- /dev/null +++ b/utils/dlm.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +# Download files using yt-dlp -x + +# Usage: dlm.sh [URL1 ... URLn] + +# Dependencies: yt-dlp + +# Check if yt-dlp is installed +if ! command -v yt-dlp &> /dev/null; then + echo "yt-dlp is not installed" + exit 1 +fi + +# Check if URLs are provided +if [ "$#" -eq 0 ]; then + echo "No URLs provided" + exit 1 +fi + +# Download files using yt-dlp -x and save them without the youtube id +yt-dlp -x --audio-format mp3 --output "%(title)s.%(ext)s" "$@" + +# Change the file's owner to 568:568 +# Change the file's permissions to 770 +sudo chown 568:568 ./*.mp3 +sudo chmod 770 ./*.mp3 \ No newline at end of file diff --git a/utils/launcher b/utils/launcher new file mode 100755 index 0000000..4d9f4ab --- /dev/null +++ b/utils/launcher @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +rofi \ + -show drun \ + -modi run,drun,ssh,calc \ + -scroll-method 0 \ + -drun-match-fields all \ + -drun-display-format "{name}" \ + -terminal 'kermit -e' \ + -kb-cancel Escape \ + -theme "$HOME"/.config/rofi/config/launcher.rasi diff --git a/conf.d/utils/patch-eldenring.sh b/utils/patch-eldenring.sh similarity index 100% rename from conf.d/utils/patch-eldenring.sh rename to utils/patch-eldenring.sh diff --git a/utils/set-monitors.sh b/utils/set-monitors.sh new file mode 100755 index 0000000..c7d5b08 --- /dev/null +++ b/utils/set-monitors.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -eou pipefail +base_command="xrandr -q | grep connected" +monitors=$(bash -c "$base_command") +monitors_len=$(bash -c "$base_command" | grep -w 'connected' | wc -l) +if [[ "$monitors_len" -eq 2 ]]; +then + xrandr --auto --output eDP-1 --mode 1920x1080 --right-of HDMI-2 + bspc monitor eDP-1 -d I II III IV V + bspc monitor HDMI-2 -d VI VII VIII IX X + +else + bspc monitor eDP-1 -d I II III IV V VI VII VIII IX X +fi diff --git a/utils/toggle-keyboard-layout.sh b/utils/toggle-keyboard-layout.sh new file mode 100755 index 0000000..87510a1 --- /dev/null +++ b/utils/toggle-keyboard-layout.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail +(setxkbmap -query | grep -q "layout:\s\+us") && setxkbmap es || setxkbmap us +notify-send "layout: $(setxkbmap -query | tail -1 | awk '{print $2}')" + + + diff --git a/conf.d/vimrc b/vimrc similarity index 100% rename from conf.d/vimrc rename to vimrc