My Nix Infra
nix nixos
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

rm arch linux bye T.T

ydcjeff fee14d73 c5c9c7d9

+2 -241
-3
Makefile
··· 29 29 30 30 check: 31 31 nix flake check 32 - 33 - arch: 34 - bash scripts/arch-install.sh
+2 -15
README.md
··· 2 2 3 3 Includes: 4 4 5 - - NixOS config (KDE) 6 - - Arch Linux setup (KDE) 7 - - dotfiles of CLI tools 5 + - NixOS config 6 + - dotfiles 8 7 9 8 Requires: 10 9 ··· 17 16 1. `make nixos hostname=<hostname>` 18 17 19 18 2. `make nixos-post` 20 - 21 - Arch Linux setup: 22 - 23 - 1. Install Arch Linux via archinstall 24 - 25 - 2. `make arch` 26 - 27 - Arch Linux Post Installation: 28 - 29 - - [change default boot order to linux-lts](https://wiki.archlinux.org/title/Systemd-boot#Remember_last_entry) 30 - - add fcitx5 IME 31 - - change IM toggle shortcut to Ctrl+Shift+Space
-97
scripts/arch-install.sh
··· 1 - #!/usr/bin/env bash 2 - 3 - set -e 4 - 5 - SCRIPT_DIR=$(dirname "$(realpath "$0")") 6 - 7 - if ! command -v paru &> /dev/null; then 8 - sudo pacman -S --needed base-devel git 9 - git clone https://aur.archlinux.org/paru-bin.git /tmp/paru 10 - cd /tmp/paru 11 - makepkg -si --noconfirm 12 - rm -rf /tmp/paru 13 - fi 14 - 15 - has() { 16 - command -v "$1" &>/dev/null 17 - } 18 - 19 - pkgs=( 20 - # kde plasma ofc 21 - plasma 22 - dolphin 23 - ark 24 - gwenview 25 - mpv 26 - sddm 27 - kimageformats 28 - kwalletmanager 29 - power-profiles-daemon 30 - qt6-imageformats 31 - libappindicator-gtk3 32 - 33 - # arch related 34 - intel-ucode 35 - amd-ucode 36 - reflector 37 - archlinux-contrib 38 - pacman-contrib 39 - 40 - # terminal 41 - ghostty 42 - 43 - # editors 44 - visual-studio-code-bin 45 - 46 - # browsers 47 - firefox 48 - brave-bin 49 - 50 - # fonts 51 - noto-fonts 52 - noto-fonts-cjk 53 - noto-fonts-emoji 54 - noto-fonts-extra 55 - ttf-jetbrains-mono 56 - ttf-font-awesome 57 - 58 - # virtualization 59 - virtualbox 60 - virtualbox-guest-iso 61 - virtualbox-host-dkms 62 - virtualbox-host-modules-lts 63 - 64 - # IME 65 - fcitx5-im 66 - fcitx5-rime 67 - 68 - discord 69 - telegram-desktop 70 - ) 71 - 72 - paru -Syu --noconfirm --needed "${pkgs[@]}" 73 - 74 - # nix 75 - if ! has nix; then 76 - curl -L https://nixos.org/nix/install | sh -s -- --no-daemon 77 - fi 78 - 79 - sudo systemctl enable sddm 80 - sudo systemctl enable systemd-resolved.service 81 - sudo systemctl restart systemd-resolved.service 82 - sudo systemctl enable bluetooth.service 83 - sudo systemctl restart bluetooth.service 84 - sudo systemctl enable reflector.timer 85 - sudo systemctl restart reflector.timer 86 - sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf 87 - 88 - bash "$SCRIPT_DIR/cp-config.sh" 89 - bash "$SCRIPT_DIR/init-work.sh" 90 - bash "$SCRIPT_DIR/kde-config.sh" 91 - 92 - chsh -s "$(which fish)" 93 - 94 - read -rp "reboot? (y/n): " reply 95 - if [[ $reply = "y" ]]; then 96 - reboot 97 - fi
-126
scripts/kde-config.sh
··· 1 - #!/usr/bin/env bash 2 - 3 - set -e 4 - 5 - backup() { 6 - cp "$1" "$1-$(date -Iseconds)".bak 7 - } 8 - 9 - kwc() { 10 - file=$1 11 - group=$2 12 - key=$3 13 - value=$4 14 - type={$5:-""} 15 - touch "$file" 16 - backup "$file" 17 - kwriteconfig6 \ 18 - --file "$file" \ 19 - --group "$group" \ 20 - --key "$key" \ 21 - --type "$type" \ 22 - "$value" 23 - } 24 - 25 - echo "highlight changed settings" 26 - kwc "$HOME"/.config/systemsettingsrc \ 27 - systemsettings_sidebar_mode \ 28 - HighlightNonDefaultSettings \ 29 - true \ 30 - bool 31 - 32 - echo "set fcitx5 IME" 33 - kwc "$HOME"/.config/kwinrc \ 34 - Wayland \ 35 - 'InputMethod[$e]' \ 36 - '/usr/share/applications/org.fcitx.Fcitx5.desktop' 37 - kwc "$HOME"/.config/kwinrc \ 38 - Wayland \ 39 - 'VirtualKeyboardEnabled' \ 40 - true \ 41 - bool 42 - 43 - echo "set kwin shortcuts" 44 - kwc "$HOME"/.config/kglobalshortcutsrc \ 45 - kwin \ 46 - 'Window Close' \ 47 - 'Ctrl+Q,Alt+F4,Close Window' 48 - kwc "$HOME"/.config/kglobalshortcutsrc \ 49 - kwin \ 50 - 'Window Maximize' \ 51 - 'Meta+F,Meta+PgUp,Maximize Window' 52 - kwc "$HOME"/.config/kglobalshortcutsrc \ 53 - kwin \ 54 - 'Window Quick Tile Bottom' \ 55 - 'Meta+J,Meta+Down,Quick Tile Window to the Bottom' 56 - kwc "$HOME"/.config/kglobalshortcutsrc \ 57 - kwin \ 58 - 'Window Quick Tile Left' \ 59 - 'Meta+H,Meta+Left,Quick Tile Window to the Left' 60 - kwc "$HOME"/.config/kglobalshortcutsrc \ 61 - kwin \ 62 - 'Window Quick Tile Right' \ 63 - 'Meta+L,Meta+Right,Quick Tile Window to the Right' 64 - kwc "$HOME"/.config/kglobalshortcutsrc \ 65 - kwin \ 66 - 'Window Quick Tile Top' \ 67 - 'Meta+K,Meta+Up,Quick Tile Window to the Top' 68 - 69 - kwc "$HOME"/.config/kglobalshortcutsrc \ 70 - kwin \ 71 - 'Switch Window Down' \ 72 - 'Meta+Alt+J,Meta+Alt+Down,Switch to Window Below' 73 - kwc "$HOME"/.config/kglobalshortcutsrc \ 74 - kwin \ 75 - 'Switch Window Left' \ 76 - 'Meta+Alt+H,Meta+Alt+Left,Switch Window to the Left' 77 - 78 - kwc "$HOME"/.config/kglobalshortcutsrc \ 79 - kwin \ 80 - 'Window One Desktop Down' \ 81 - 'Meta+Ctrl+Shift+J,Meta+Ctrl+Shift+Down,Window One Desktop Down' 82 - kwc "$HOME"/.config/kglobalshortcutsrc \ 83 - kwin \ 84 - 'Window One Desktop Up' \ 85 - 'Meta+Ctrl+Shift+K,Meta+Ctrl+Shift+Up,Window One Desktop Up' 86 - kwc "$HOME"/.config/kglobalshortcutsrc \ 87 - kwin \ 88 - 'Window One Desktop to the Left' \ 89 - 'Meta+Ctrl+Shift+H,Meta+Ctrl+Shift+Left,Window One Desktop to the Left' 90 - kwc "$HOME"/.config/kglobalshortcutsrc \ 91 - kwin \ 92 - 'Window One Desktop to the Right' \ 93 - 'Meta+Ctrl+Shift+L,Meta+Ctrl+Shift+Right,Window One Desktop to the Right' 94 - 95 - kwc "$HOME"/.config/kglobalshortcutsrc \ 96 - ksmserver \ 97 - 'Lock Session' \ 98 - 'Ctrl+Alt+L,Meta+L Screensaver,Lock Session' 99 - 100 - echo "disable file indexing" 101 - kwc "$HOME"/.config/baloofilerc \ 102 - 'Basic Settings' \ 103 - 'Indexing-Enabled' \ 104 - false \ 105 - bool 106 - kwc "$HOME"/.config/krunnerrc \ 107 - 'Plugins' \ 108 - 'baloosearchEnabled' \ 109 - false \ 110 - bool 111 - 112 - echo "set default apps" 113 - kwc "$HOME"/.config/kdeglobals \ 114 - 'General' \ 115 - 'TerminalApplication' \ 116 - 'ghostty' 117 - kwc "$HOME"/.config/kdeglobals \ 118 - 'General' \ 119 - 'TerminalService' \ 120 - 'com.mitchellh.ghostty.desktop' 121 - 122 - echo "set LC_TIME to JP" 123 - kwc "$HOME"/.config/plasma-localerc \ 124 - 'Formats' \ 125 - 'LC_TIME' \ 126 - 'ja_JP.UTF-8'