summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile77
1 files changed, 64 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index dd498ce..f77ae93 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,5 @@
+CURRENT_OS:=$(shell uname -s)
+
INTO = $(HOME)
@@ -5,18 +7,12 @@ INSTALL = \
agignore \
aspell.en.pws \
ctags \
- config/i3 \
- emacs.d \
- gitconfig \
- gitignore \
- tmux.conf \
- Xresources \
- xsession \
zshenv \
zshrc
INSTALLED = $(patsubst %,$(INTO)/.%,$(INSTALL))
LN = @ln -sf
+PACMAN = @sudo pacman -Sy --needed --quiet
$(INTO)/.% : %
@[ ! -e $@ ] || [ -h $@ ] || mv -f $@ $@.bak
@@ -25,29 +21,78 @@ $(INTO)/.% : %
$(HOME)/.ssh/authorized_keys:
@curl https://github.com/fcuny.keys -o $(HOME)/.ssh/authorized_keys
+.PHONY: systemd-user
+systemd-user:
+ @mkdir -p $(HOME)/.config/systemd/user
+
+.PHONY: pamenv
+pamenv:
+ $(LN) $(PWD)/pam_environment $(HOME)/.pam_environment
+
+.PHONY: ssh
+ssh: systemd-user pamenv
+ifeq ($(CURRENT_OS),Linux)
+ $(LN) $(PWD)/config/systemd/user/ssh-agent.service $(HOME)/.config/systemd/user/ssh-agent.service
+ @systemctl --user enable ssh-agent
+endif
+
$(HOME)/workspace:
@mkdir -p $(HOME)/workspace/
+$(HOME)/workspace/go: $(HOME)/workspace
+ @mkdir -p $(HOME)/workspace/go
+
+.PHONY: screenshots
$(HOME)/Documents/screenshots:
@mkdir -p $(HOME)/Documents/screenshots
-.PHONE: osx
-osx:
- @./scripts/osx.sh
-
.PHONY: go-setup
-go-setup:
+go-setup: $(HOME)/workspace/go
@go get -u github.com/kisielk/errcheck
@go get -u github.com/rogpeppe/godef
@go get -u github.com/zmb3/gogetdoc
@go get -u golang.org/x/tools/cmd/goimports
@go get -u golang.org/x/tools/cmd/guru
+ @GO111MODULE=on go get golang.org/x/tools/gopls@latest
.PHONY: git
git:
+ $(LN) $(PWD)/gitconfig $(HOME)/.gitconfig
+ $(LN) $(PWD)/gitignore $(HOME)/.gitignore
@git config --local user.email "franck@fcuny.net"
@git config --local user.name "Franck Cuny"
+.PHONY: desktop
+desktop:
+ @mkdir -p $(HOME)/.config
+ @ln -sf $(PWD)/xsession $(HOME)/.xsession
+ @ln -sf $(PWD)/Xresources $(HOME)/.Xresources
+ @ln -sf $(PWD)/config/i3 $(HOME)/.config/i3
+ @ln -sf $(PWD)/config/user-dirs.dirs $(HOME)/.config/user-dirs.dirs
+
+.PHONY: emacs
+emacs:
+ifeq ($(CURRENT_OS),Linux)
+ $(PACMAN) emacs
+ $(LN) $(PWD)/emacs.d $(HOME)/.config/emacs
+endif
+ifeq ($(CURRENT_OS),Darwin)
+ $(LN) $(PWD)/emacs.d $(HOME)/.emacs.d
+endif
+
+.PHONY: redshift
+redshift:
+ $(PACMAN )redshift
+ $(LN) $(PWD)/config/redshift.conf $(HOME)/.config/redshift.conf
+ @systemctl --user enable redshift
+
+.PHONY: tmux
+tmux:
+ifeq ($(CURRENT_OS),Linux)
+ $(PACMAN) tmux
+endif
+ $(LN) $(PWD)/tmux.conf $(HOME)/.tmux.conf
+
.PHONY: check-dead
check-dead:
@find ~ -maxdepth 1 -name '.*' -type l -exec test ! -e {} \; -print
@@ -57,4 +102,10 @@ clean-dead:
@find ~ -maxdepth 1 -name '.*' -type l -exec test ! -e {} \; -delete
.PHONY: install
-install: $(INSTALLED) $(HOME)/workspace $(HOME)/.ssh/authorized_keys $(HOME)/Documents/screenshots osx
+install: $(HOME)/workspace $(HOME)/.ssh/authorized_keys git tmux emacs
+
+.PHONY: install-linux
+install-linux: redshift desktop
+
+.PHONY: install-darwin
+install-darwin: screenshots