...
 
Commits (2)
#!/bin/sh
ansible-playbook -i hosts.txt main.yml\
--vault-password-file meta/zubizareta\
-u root -t $1
(use-modules (guix packages)
(guix profiles)
(gnu packages)
(srfi srfi-1))
(specifications->manifest
'( ;; Utilities
"recutils"
"curl"
"git"
"git:send-email"
"subversion"
"bash"
"guile"
"nano"
"nss-certs"
"glibc-locales"
"gcc-toolchain"
"gfortran-toolchain"
"python"
"perl"
"htop"
"ansible"
"pigz"
"libsass"
;; Autotools
"autoconf"
"automake"
"autobuild"
"m4"
;; Emacs
"the-silver-searcher"
"emacs"
"emacs-bbdb"
"emacs-use-package"
"emacs-ag"
"emacs-magit"
"emacs-org"
"emacs-org-ref"
"emacs-paredit"
"emacs-ess"
"emacs-company"
"emacs-ivy"
"emacs-counsel"
"emacs-geiser"
"emacs-guix"
"emacs-zenburn-theme"
"emacs-solarized-theme"
"emacs-cyberpunk-theme"
"emacs-atom-one-dark-theme"
"emacs-polymode"
"emacs-polymode-org"
"emacs-polymode-ansible"
"emacs-csv"
"emacs-smartparens"
;; "emacs-elpy"
"emacs-wgrep"
"emacs-emojify"
"emacs-rust-mode"
"emacs-flycheck-rust"
;; X
"xterm"
"rxvt-unicode"
"evince"
"xdg-utils"
"xdg-user-dirs"
"pango"
"libxft"
"cairo"
;; TeX
"gs-fonts"
"texlive"
;; "gs-fonts"
;; "texlive-charter"
;; "texlive-fonts-stmaryrd"
;; "texlive-txfonts"
;; "texlive-amsfonts"
;; "texlive-fonts-latex"
;; "texlive-latex-psnfss"
;; "texlive-latex-type1cm"
;; "texlive-latex-ms"
;; "texlive-fontinst"
;; "texlive-metafont-base"
;; "texlive-latex-fontspec"
;; "texlive-hyph-utf8"
;; "lyx"
;; "texlive-bin"
;; "texlive-base"
;; "texlive-latex-tools"
;; "texlive-latex-base"
;; "texlive-latexconfig"
;; "texlive-dvips"
;; "texlive-fonts-latex"
;; "texlive-latex-babel"
;; "texlive-latex-graphics"
;; "texlive-amsfonts"
;; "texlive-fonts-ec"
;; "texlive-dvips"
;; "texlive-bibtex"
;; "texlive-latex-fancyhdr"
;; "texlive-latex-enumitem"
;; "texlive-latex-ifplatform"
;; "texlive-latex-koma-script"
;; "texlive-url"
;; "texlive-latex-framed"
;; "texlive-latex-geometry"
;; "texlive-latex-hyperref"
;;Fonts
"unicode-emoji"
"fontconfig"
"font-dejavu"
"font-gnu-freefont"
"font-ubuntu"
"font-terminus"
"font-liberation"
"font-inconsolata"
"font-gnu-unifont"
"font-public-sans"
"font-misc-misc"
"font-awesome"
"font-hack"
"font-iosevka"
"font-iosevka-term"
"font-iosevka-term-slab"
"font-iosevka-sparkle"
"font-iosevka-slab"
"font-iosevka-etoile"
"font-iosevka-aile"
"font-google-noto"
;;Python
"python-requests"
"python-ruamel.yaml"
"python-matplotlib"
"python-numpy"
"python-scipy"
;; Java
"openjdk:out"
"openjdk:jdk"
;; Perl
"perl-yaml-libyaml"
;; Guile
"guile-readline"
;; R
"r"
"r-curl"
"r-ellipsis"
"r-remoter"
"r-sass"
"r-bslib"
"r-cachem"
"r-future"
"r-rmarkdown"
"r-knitr"
"r-roxygen2"
"r-rcolorbrewer"
"r-data-table"
"r-gplots"
"r-devtools"
"r-usethis"
"r-shiny"
"r-shinyfiles"
"r-shinydashboard"
"r-flexdashboard"
"r-handsontable"
"r-shinyfiles"
"r-cowplot"
"r-withr"
"r-massbank"
"r-chemmass"
"r-resolution"
"r-msnbase"
"r-pander"
"r-rstatix"
"r-shinyscreen"))
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
(channel (channel
(name 'guix) (name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git") (url "https://git.savannah.gnu.org/git/guix.git")
(commit "10b909a0249fd53d589890b357232db4165690f5")
;; (commit "2b5a81dfd3f7a633f4137d31060d0fa82c5e89f6") ;; (commit "2b5a81dfd3f7a633f4137d31060d0fa82c5e89f6")
;; (commit "66c31d5072c846ab86026c5f696ea55a08723ac") ;; (commit "66c31d5072c846ab86026c5f696ea55a08723ac")
......
#!/bin/sh
# Clear environment, source the profile containing the new shinyscreen
# and run it.
env -i HOME="$HOME"\
USER="$USER"\
DISPLAY=":50"\
PATH=/usr/local/sbin/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\
bash -c "source '$HOME'/.prof-ss/etc/profile
'$HOME'/.prof-ss/bin/Rscript '$HOME'/.local/bin/run-ss.R"
#!/bin/sh
# Clear environment, source the profile containing the new shinyscreen
# and run it.
Rscript ~/.local/bin/run-olds.R
require(shinyscreen)
options(browser="chromium")
options(shiny.launch.browser=T)
launch()
require(shinyscreen)
options(browser="chromium")
app(shiny_args=list(launch.browser=T))
[Desktop Entry]
Name=Shinyscreen (devel)
Comment=Mass-spectrum Prescreening Program
Icon=r
Exec=newss.sh
Type=Application
Terminal=false
[Desktop Entry]
Name=Shinyscreen (stable ;-) )
Comment=Mass-spectrum Prescreening Program
Icon=r
Exec=oldss.sh
Type=Application
Terminal=false
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
- name: Set hostname. - name: Set hostname.
ansible.builtin.hostname: ansible.builtin.hostname:
name: "{{ inventory_hostname }}" name: "{{ inventory_hostname }}"
- name: Copy profiles. - name: Copy profiles.
tags: profile tags: profile
copy: copy:
...@@ -24,13 +23,19 @@ ...@@ -24,13 +23,19 @@
- include: tasks/apt.yml - include: tasks/apt.yml
- include: tasks/users.yml - include: tasks/users.yml
tags: users
- include: tasks/ufw.yml - include: tasks/ufw.yml
- include: tasks/spaces.yml
tags: spaces
- include: tasks/guix.yml - include: tasks/guix.yml
tags: guix tags: guix
- include: tasks/visual-appeal.yml - include: tasks/visual-appeal.yml
tags: visual tags: visual
- include: tasks/emacs.yml - include: tasks/emacs.yml
tags: emacs tags: emacs
- include: tasks/r-setup.yml
tags: r-setup
handlers: handlers:
......
...@@ -14,7 +14,8 @@ ...@@ -14,7 +14,8 @@
'gdm3', 'gdm3',
'xinetd', 'xinetd',
'firefox', 'firefox',
'chromium-browser'] 'chromium-browser',
's3fs' ]
tags: apt tags: apt
......
...@@ -51,6 +51,13 @@ ...@@ -51,6 +51,13 @@
copy: copy:
src: files/etc/guix_manifest.scm src: files/etc/guix_manifest.scm
dest: /etc/guix_manifest.scm dest: /etc/guix_manifest.scm
tags: guix-inst-pkg
- name: Copy "new shinyscreen" package manifest.
copy:
src: files/etc/guix_new_shinyscreen_manifest.scm
dest: /etc/guix_new_shinyscreen_manifest.scm
tags: guix-inst-pkg
- name: Install packages. - name: Install packages.
command: command:
...@@ -62,3 +69,19 @@ ...@@ -62,3 +69,19 @@
register: result register: result
until: result.rc == 0 until: result.rc == 0
loop: "{{ users }}" loop: "{{ users }}"
- name: Create new shinyscreen profile.
command:
cmd: >
/usr/bin/bash -l -c
'guix package -c4
-m /etc/guix_new_shinyscreen_manifest.scm
-p "/home/{{ item.login }}/.prof-ss"
--fallback'
tags: guix-inst-pkg
become_user: "{{ item.login }}"
retries: 20
delay: 5
register: result
until: result.rc == 0
loop: "{{ users }}"
- name: Copy newss.sh
copy:
src: files/home/user/.local/bin/newss.sh
dest: /home/{{ item.login }}/.local/bin/newss.sh
owner: "{{ item.login }}"
mode: 0744
loop: "{{ users }}"
- name: Copy run-ss.R
copy:
src: files/home/user/.local/bin/run-ss.R
dest: /home/{{ item.login }}/.local/bin/run-ss.R
owner: "{{ item.login }}"
mode: 0744
loop: "{{ users }}"
- name: Copy newss.desktop
copy:
src: files/home/user/Desktop/newss.desktop
dest: /home/{{ item.login }}/Desktop/newss.desktop
owner: "{{ item.login }}"
mode: 0744
loop: "{{ users }}"
- name: Copy oldss.sh
copy:
src: files/home/user/.local/bin/oldss.sh
dest: /home/{{ item.login }}/.local/bin/oldss.sh
owner: "{{ item.login }}"
mode: 0744
loop: "{{ users }}"
- name: Copy run-olds.R
copy:
src: files/home/user/.local/bin/run-olds.R
dest: /home/{{ item.login }}/.local/bin/run-olds.R
owner: "{{ item.login }}"
mode: 0744
loop: "{{ users }}"
- name: Copy oldss.desktop
copy:
src: files/home/user/Desktop/oldss.desktop
dest: /home/{{ item.login }}/Desktop/oldss.desktop
owner: "{{ item.login }}"
mode: 0744
loop: "{{ users }}"
- name: Upload the access token
copy:
content: "{{ accesstokens['spaces'] }}"
dest: /home/ecitk/.passwd-s3fs
mode: 0600
owner: ecitk
- name: Make the mount point.
file:
path: /mnt/exchange
state: directory
owner: ecitk
group: scratch
mode: 0770
- name: Mount Spaces URL.
command: >
s3fs planb /mnt/exchange
-o passwd_file=/home/ecitk/.passwd-s3fs
-o url=https://ams3.digitaloceanspaces.com/
-o use_path_request_style
-o use_wtf8
-o enable_content_md5
-o allow_other
-o mp_umask=0007
-o umask=0007
become_user: ecitk
...@@ -35,3 +35,12 @@ ...@@ -35,3 +35,12 @@
ignore_errors: yes ignore_errors: yes
when: item.sshkey when: item.sshkey
loop: "{{ users }}" loop: "{{ users }}"
- name: Create local bin.
file:
path: "/home/{{ item.login }}/.local/bin"
state: directory
recurse: yes
owner: "{{ item.login }}"
mode: 0750
loop: "{{ users }}"
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
64386164623735383434343330326637343837653966623066343061626364323139636334346136 30333733393662313736616332346333653462356333393834303232643034383337333963643837
3537663335626461623833333234623134306632623461360a313462656433346537636365393162 6534343731313033663436353232616134333839383562370a623030303534656463363630383562
34646334623631626262616666663364616537653561313337313965373337396163666231616638 30313237333531323561376631376330613730336262643562393533393761396330343064313132
3762383834343832350a643164306564303564663033386637323864333866303538356532303963 3263393730336531640a383135306261663738636666626562623161393133386163313836663664
35323138616336323632643238303864333535333564346133633539663363303330653233323865 66353630386636383333613062316633383536386363613230383564383362346361653034333830
63613332633564303461656234663336623364346532313631366234653535383664646533333265 66336137326430653463343362666565323661353434353735336461363230303664306463656638
656236343134316264376165323235333838 36383963393434363835333133363234303934313539396435333664343165343135623731313630
32626331636337663539663935643833383133666638663264303138303930383232336163303830
37643864363931636333323266663836363164643031333564326163653034643264303636386662
63353337336461636638623139373336353136343231383830336234396436313538623533353339
31336465653932343531326563643164333837633066326161306662363333663462333766353430
62353431366263336362