Skip to content

Instantly share code, notes, and snippets.

@gretchi
Last active September 2, 2025 08:55
Show Gist options
  • Select an option

  • Save gretchi/211e094a449828f2d902427a1f83a651 to your computer and use it in GitHub Desktop.

Select an option

Save gretchi/211e094a449828f2d902427a1f83a651 to your computer and use it in GitHub Desktop.
開発環境構築

開発環境構築

gretchi/shellsetting/install.sh

最初にやる設定

# ディレクトリ名英語化
LANG=C xdg-user-dirs-gtk-update --force


# sudo NOPASSWD化
sed -e 's/%sudo\tALL=(ALL:ALL) ALL/%sudo\tALL=NOPASSWD: ALL/g' /etc/sudoers | EDITOR=tee visudo >/dev/null


# スリープ設定
sudo echo 'HandleLidSwitch=ignore' >> /etc/systemd/logind.conf
sudo systemctl restart systemd-logind.service

# CapsLock 無効化(GNOME3)
gsettings set org.gnome.libgnomekbd.keyboard options "['ctrl\tctrl:nocaps']"
sudo gsettings set org.gnome.libgnomekbd.keyboard options "['ctrl\tctrl:nocaps']"

# CapsLock 無効化(Xfce, LXQt)
setxkbmap -option ctrl:nocaps


# GNOME Gamesの削除
sudo apt remove -y gnome-games && sudo apt autoremove


# Build Essentials
sudo apt update
sudo apt install -y git make build-essential openssl wget curl llvm \
  libssl-dev libbz2-dev libreadline-dev libsqlite3-dev zlib1g-dev \
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev


# ユーティリティ(CLI)
sudo apt update && sudo apt install -y git vim unar

# ユーティリティ(GUI)
sudo apt update && sudo apt install -y gnome-tweaks

# アプリケーション(開発)
sudo snap refresh
sudo snap install code --classic
sudo snap install postman
sudo snap install sublime-text
sudo snap install remmina
sudo snap install josm

# docker

sudo snap install docker
sudo addgroup docker
export SUDO_USER_NAME=`whoami` \
&& sudo usermod -aG docker "${SUDO_USER_NAME}"
sudo snap disable docker
sudo snap enable docker

# アプリケーション(コミュニケーション)
sudo snap refresh
sudo snap install slack
sudo snap install discord
sudo snap install zoom-client


# Git
git config --global user.name gretchi
git config --global user.email gretchi@gretel-net.tokyo

Unzip

/usr/share/applications/extract-here.desktop]
[Desktop Entry]
Name=extract-here
Exec=/usr/bin/file-roller -h %U && xdg-open %U
Terminal=false
Type=Application
MimeType=application/zip;


xdg-mime default extract-here.desktop "application/zip"

Docker & docker-compose

Snap Store

sudo snap install docker
sudo snap disable docker
sudo snap enable docker

手動ビルド

curl -fsSL https://get.docker.com/ | sh
curl -fsSL https://get.docker.com/gpg | sudo apt-key add
sudo curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -a -G sudo gretel
sudo usermod -a -G docker gretel
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -a -G docker gretel

https://docs.docker.com/engine/install/ubuntu/

Python & pyenv + virtualenv

sudo apt update
sudo apt install -y git make build-essential openssl wget curl llvm \
  libssl-dev libbz2-dev libreadline-dev libsqlite3-dev zlib1g-dev \
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

cat < EOL >> ~/.bashrc
# pyenv and virtualenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
EOL

Node.js & npm

sudo apt update && sudo apt install -y curl

curl -fsSL https://deb.nodesource.com/setup_17.x | bash -
sudo apt-get install -y nodejs

Win-Get

winget install -e --id Microsoft.VisualStudioCode winget install -e --id Schezo.Lhaplus winget install -e --id clsid2.mpc-hc winget install -e --id CrystalDewWorld.CrystalDiskInfo winget install -e --id CrystalDewWorld.CrystalDiskInfo

Choco

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) choco install -y vscode choco install -y sakuraeditor choco install -y mpc-hc choco install -y cccp choco install -y fonts-ricty-diminished choco install -y xnview choco install -y imageglass choco install -y lhaplus

#!/bin/bash
# mkdir -p "$HOME/.local/bin"
# curl -sS https://starship.rs/install.sh | sh -s -- --bin-dir "$HOME/.local/bin"
# source /mingw64/share/git/completion/git-prompt.sh
if [ -n "$MSYSTEM" ] && [[ "$(uname -s)" == MINGW* ]]; then
_PS1_TOOL="(Git) "
_PS1_PF_MARK="ミ🪟"
elif [[ "$(uname -s)" == MSYS* ]]; then
_PS1_TOOL="$(uname -s) "
_PS1_PF_MARK="ミ🪟"
elif [[ "$(uname -s)" == CYGWIN* ]]; then
_PS1_TOOL="(Cygwin) "
_PS1_PF_MARK="ミ🪟"
fi
if [ "$(uname -s)" == "Linux" ]; then
_PS1_TOOL=""
_PS1_PF_MARK="🐧"
fi
if ! type __git_ps1 &>/dev/null; then
__git_ps1() {
echo ""
}
fi
__exit_code_prompt() {
local ec=$?
[[ $ec -ne 0 ]] && echo -e "\033[31mx$ec "
}
_hostname=$(uname -n)
__ssh_marker() {
if [[ -n ${SSH_CONNECTION-} || -n ${SSH_TTY-} ]]; then
echo -e "\033[33m${USER}\033[0m in 🌐 \033[32m${_hostname}\033[0m "
fi
}
export PS1='`__ssh_marker`\[\033[35m\]${_PS1_TOOL}\[\033[0m\]- \t ${_PS1_PF_MARK} \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n`__exit_code_prompt`\[\033[0m\]\$ '
export PATH=$PATH:$HOME/.local/bin
if type "starship" > /dev/null 2>&1; then
eval "$(starship init bash)"
fi
alias ls="ls --color='auto' -h"
alias ll="ls -l"
alias la="ls -la"
alias vi="vim"
# Memo
alias memo="vi ~/Documents/memo.txt"
# Change directory
alias g="cd ~/Git"
alias gti="git"
alias gb="git branch"
alias gba="git branch -a"
alias gcb="git checkout -b "
# alias gpo="git push -u origin $(git symbolic-ref --short HEAD)"
alias gs="git status"
alias gd="git diff"
alias gr="git reset"
alias ga="git add"
alias gA="git add --all"
alias gaa="gA"
alias gaA="gA"
alias gc="git commit -m"
alias gcz="git cz"
alias gp="git pull"
alias gP="git push"
alias gf="git fetch"
alias gl="git log --pretty='format:%C(yellow)%h %C(green)%cd %C(reset)%s %C(red)%d %C(cyan)[%an]' --date=iso"
alias glg="gl --graph"
alias gacp="git pull && git add --all && git commit -m 'Sync by $(uname) in $(whoami)@$(hostname)' && git push"
alias viexclude="vi .git/info/exclude"
# Docker, docker-compose
alias dc="docker-compose"
alias dcup="docker-compose up"
alias dcupd="docker-compose up -d"
alias dcstop="docker-compose stop"
alias dcrm="docker-compose rm"
alias dclog="docker-compose log"
alias dctail="docker-compose log tail"
alias dcexec="docker-compose exec"
alias ssh-keygen="ssh-keygen -t ed25519 -C '' -N ''"
# cd
alias ..="cd ../"
alias ....="cd ../../"
alias ......="cd ../../../../"
alias ........="cd ../../../../../"
alias code="code ."
alias finder="oeen ."
# Terminal commands
alias reset="stty sane"
alias lll="exec ${SHELL} -l"
alias eee="exec ${SHELL} -l"
# Functions
alias upper="/usr/bin/env python -c \"import sys;print(sys.argv[1].upper())\""
alias lower="/usr/bin/env python -c \"import sys;print(sys.argv[1].lower())\""
alias rmpyc='find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf'
@gretchi
Copy link
Author

gretchi commented Aug 19, 2024

LANG=C xdg-user-dirs-gtk-update --force

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment