summary refs log tree commit diff
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