Taylor Bockman
9 years ago
45 changed files with 760 additions and 98 deletions
After Width: | Height: | Size: 451 KiB |
After Width: | Height: | Size: 424 KiB |
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 1.4 MiB |
@ -0,0 +1,12 @@ |
|||||||
|
(* Added by OPAM. *) |
||||||
|
let () = |
||||||
|
try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") |
||||||
|
with Not_found -> () |
||||||
|
;; |
||||||
|
|
||||||
|
#use "topfind";; |
||||||
|
#thread;; |
||||||
|
#camlp4o;; |
||||||
|
#require "async";; |
||||||
|
#require "core.top";; |
||||||
|
#require "core.syntax";; |
@ -1,10 +1,8 @@ |
|||||||
#!/bin/sh |
#!/bin/sh |
||||||
|
|
||||||
xrdb ~/.Xresources |
xrdb ~/.Xresources |
||||||
# zsh ~/.fehbg & |
compton --config ~/.compton.conf |
||||||
# exec ~/essentials/scripts/sysinit/xmonad_start.sh |
feh --bg-scale ~/essentials/backgrounds/dark-forest.jpg |
||||||
# exec awesome |
|
||||||
feh --bg-scale ~/essentials/backgrounds/glass-blue-bg.jpg |
|
||||||
xmodmap -e 'clear Lock' |
xmodmap -e 'clear Lock' |
||||||
xmodmap -e 'keycode 0x42=Escape' |
xmodmap -e 'keycode 0x42=Escape' |
||||||
exec i3 |
exec ~/essentials/scripts/sysinit/xmonad_start.sh |
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,26 @@ |
|||||||
|
|
||||||
|
xmonad.hs:132:28: Warning: |
||||||
|
In the use of ‘defaultConfig’ |
||||||
|
(imported from XMonad, but defined in XMonad.Config): |
||||||
|
Deprecated: "Use def (from Data.Default, and re-exported by XMonad and XMonad.Config) instead." |
||||||
|
|
||||||
|
xmonad.hs:135:34: Warning: |
||||||
|
In the use of ‘defaultPP’ (imported from XMonad.Hooks.DynamicLog): |
||||||
|
Deprecated: "Use def (from Data.Default, and re-exported by XMonad.Hooks.DynamicLog) instead." |
||||||
|
|
||||||
|
xmonad.hs:178:49: Warning: |
||||||
|
In the use of ‘defaultConfig’ |
||||||
|
(imported from XMonad, but defined in XMonad.Config): |
||||||
|
Deprecated: "Use def (from Data.Default, and re-exported by XMonad and XMonad.Config) instead." |
||||||
|
|
||||||
|
xmonad.hs:203:63: Warning: |
||||||
|
In the use of ‘defaultXPConfig’ (imported from XMonad.Prompt): |
||||||
|
Deprecated: "Use def (from Data.Default, and re-exported from XMonad.Prompt) instead." |
||||||
|
|
||||||
|
xmonad.hs:241:62: Warning: |
||||||
|
In the use of ‘defaultXPConfig’ (imported from XMonad.Prompt): |
||||||
|
Deprecated: "Use def (from Data.Default, and re-exported from XMonad.Prompt) instead." |
||||||
|
|
||||||
|
xmonad.hs:242:59: Warning: |
||||||
|
In the use of ‘defaultXPConfig’ (imported from XMonad.Prompt): |
||||||
|
Deprecated: "Use def (from Data.Default, and re-exported from XMonad.Prompt) instead." |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,11 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
environment.systemPackages = with pkgs; [ |
||||||
|
pulseaudioFull # Audio |
||||||
|
spotify # Spotify |
||||||
|
]; |
||||||
|
|
||||||
|
hardware = { |
||||||
|
pulseaudio.enable = true; |
||||||
|
}; |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
environment.systemPackages = with pkgs; [ |
||||||
|
irssi |
||||||
|
skype |
||||||
|
]; |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
|
||||||
|
{ |
||||||
|
imports = |
||||||
|
[ # Include the results of the hardware scan. |
||||||
|
./hardware-configuration.nix |
||||||
|
./display |
||||||
|
./audio |
||||||
|
./input |
||||||
|
./users |
||||||
|
./security |
||||||
|
./development |
||||||
|
./games |
||||||
|
./comms |
||||||
|
./software |
||||||
|
]; |
||||||
|
|
||||||
|
# Use the gummiboot efi boot loader. |
||||||
|
boot.loader.gummiboot.enable = true; |
||||||
|
boot.loader.efi.canTouchEfiVariables = true; |
||||||
|
|
||||||
|
nixpkgs.config = { |
||||||
|
allowUnfree = true; |
||||||
|
}; |
||||||
|
|
||||||
|
boot.initrd.luks.devices = [ |
||||||
|
{ name = "root"; device = "/dev/sda3"; } |
||||||
|
]; |
||||||
|
|
||||||
|
boot.initrd.luks.cryptoModules = [ "aes" "sha256" "sha1" "cbc" ]; |
||||||
|
|
||||||
|
networking.hostName = "ares"; # Define your hostname. |
||||||
|
networking.networkmanager.enable = true; |
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. |
||||||
|
|
||||||
|
i18n = { |
||||||
|
consoleFont = "lat9w-16"; |
||||||
|
consoleKeyMap = "us"; |
||||||
|
defaultLocale = "en_US.UTF-8"; |
||||||
|
}; |
||||||
|
|
||||||
|
time.timeZone = "US/Pacific"; |
||||||
|
|
||||||
|
# Enable the OpenSSH daemon. |
||||||
|
services.openssh.enable = true; |
||||||
|
|
||||||
|
# Enable CUPS to print documents. |
||||||
|
# services.printing.enable = true; |
||||||
|
|
||||||
|
# The NixOS release to be compatible with for stateful data such as databases. |
||||||
|
system.stateVersion = "16.03"; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
# Development |
||||||
|
|
||||||
|
This directory contains everything needed to get started developing in my nix build. A key feature is the `env` directory |
||||||
|
that contains a number of environments used to set up nix shells for isolated development. |
||||||
|
|
||||||
|
## The Nix Shells |
||||||
|
|
||||||
|
Inside `env` are the nix shells I use to develop. These contain specific packages for that language. Common packages across languages are moved into the default.nix file in the `development` directory to save typing. |
||||||
|
|
||||||
|
These shells are designed to get you up and running *quickly* and are not designed to be a perfect fit for any project. For project-based nix shells, you should build them yourself. You're welcome to use the files in `env` as a base. |
||||||
|
|
||||||
|
## Using the Nix Shells |
||||||
|
|
||||||
|
Simply `cd` in `env` and then `cd` into the language folder of your choice. Type `nix-shell --pure` and it will drop you into a configured nix shell you can then use for development. Each language has its own nuances - for example in `python` suggests you setup a `virtualenv` for each project. |
@ -0,0 +1,46 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
environment = { |
||||||
|
|
||||||
|
# OCaml has trouble finding pthread. So we set PTHREAD_LIBS to give iet a heads up |
||||||
|
# ** currently doesnt set PTHREAD_LIBS at all ** |
||||||
|
variables = { |
||||||
|
EDITOR = "nvim"; |
||||||
|
PTHREAD_CFLAGS = "-I${pkgs.glibc}/include/"; |
||||||
|
PTHREAD_LIBS = "-L${pkgs.glibc}/lib/"; |
||||||
|
}; |
||||||
|
|
||||||
|
systemPackages = with pkgs; [ |
||||||
|
bar-xft # Lightweight xcb based bar |
||||||
|
cabal-install # Haskell package installer |
||||||
|
coreutils # GNU coreutils |
||||||
|
cmake # CMake tool |
||||||
|
curl # Tool for general HTTP, FTP, etc work |
||||||
|
freetype # Library to render fonts required by some packages |
||||||
|
gcc # GNU Compiler Collection |
||||||
|
ghc # Haskell compiler |
||||||
|
glibc # Glibc |
||||||
|
gnumake # GNU Make |
||||||
|
git # Source control |
||||||
|
libev # Event loop library |
||||||
|
libpng # PNG library |
||||||
|
m4 # GNU Macro Processor |
||||||
|
neovim # Better vim |
||||||
|
ocaml # OCaml language |
||||||
|
ocamlPackages.ocaml_batteries # OCaml batteries included |
||||||
|
ocamlPackages.merlin # OCaml editor enhancement |
||||||
|
ocamlPackages.findlib # OCaml findlib |
||||||
|
ocamlPackages.lambdaTerm # Lambda Term Library |
||||||
|
ocamlPackages.ocaml_lwt # OCaml LWT Library - Saves time otherwise spent fighting with opam |
||||||
|
ocamlPackages.ocaml_oasis # OASIS Project Architecture Tool for OCaml |
||||||
|
ocamlPackages.utop # Much better top-level for OCaml |
||||||
|
opam # OCaml package manager |
||||||
|
pkgconfig |
||||||
|
python3 # Python 3 |
||||||
|
python34Packages.setuptools # Python setuptools |
||||||
|
silver-searcher # Better than grep |
||||||
|
vim # Regular ole' vim |
||||||
|
wget # Standard GNU package for HTTP, FTP, etc file retrieval |
||||||
|
]; |
||||||
|
}; |
||||||
|
} |
@ -0,0 +1,50 @@ |
|||||||
|
#A quick-and-dirty environment for nix-shell that gets you started with python34, pip, and virtualenv. |
||||||
|
# Simply run nix-shell with the directory that has this file in it to drop into a shell with everything |
||||||
|
# you need. |
||||||
|
|
||||||
|
with import <nixpkgs> {}; |
||||||
|
with pkgs.python3Packages; |
||||||
|
|
||||||
|
buildPythonPackage { |
||||||
|
name = "pythonEnv"; |
||||||
|
buildInputs = [ |
||||||
|
freetype |
||||||
|
gcc # GNU Compiler Collection |
||||||
|
gfortran |
||||||
|
git # Source control |
||||||
|
atlas # ATLAS |
||||||
|
blas # BLAS |
||||||
|
openblas # OpenBLAS |
||||||
|
libxml2 # XML2 library |
||||||
|
libxslt # XLST library |
||||||
|
libzip # Zip library |
||||||
|
liblapack # Linear Algebra pack library |
||||||
|
libpng # PNG library |
||||||
|
xlibs.libX11 # X11 library |
||||||
|
pkgconfig |
||||||
|
python3 |
||||||
|
python3Packages.virtualenv |
||||||
|
python3Packages.setuptools |
||||||
|
stdenv |
||||||
|
which |
||||||
|
zlib |
||||||
|
zsh # ZSH because I develop in ZSH |
||||||
|
]; |
||||||
|
src = null; |
||||||
|
|
||||||
|
# Environment variables for scipy builds |
||||||
|
ATLAS = atlas; |
||||||
|
# BLAS = openblas; |
||||||
|
# LAPACK = liblapack; |
||||||
|
|
||||||
|
# When used as `nix-shell --pure` |
||||||
|
shellHook = '' |
||||||
|
unset http_proxy |
||||||
|
export GIT_SSL_CAINFO=/etc/ssl/certs/ca-bundle.crt |
||||||
|
''; |
||||||
|
# used when building environments |
||||||
|
extraCmds = '' |
||||||
|
unset http_proxy # otherwise downloads will fail ("nodtd.invalid") |
||||||
|
export GIT_SSL_CAINFO=/etc/ssl/certs/ca-bundle.crt |
||||||
|
''; |
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
{config, pkgs, ... }: |
||||||
|
{ |
||||||
|
imports = [ |
||||||
|
./terminal.nix |
||||||
|
]; |
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ |
||||||
|
arandr # GUI frontend for xrandr |
||||||
|
compton # Windowing system |
||||||
|
dmenu # Application launcher |
||||||
|
feh # Wallpaper manager |
||||||
|
python3Packages.udiskie # Automatically mount USB drives |
||||||
|
scrot # Screenshot software |
||||||
|
unclutter # Mouse hider |
||||||
|
xlibs.xmodmap # keyboard reconfiguration |
||||||
|
xmonad-with-packages # Tiling window manager |
||||||
|
xorg.xbacklight # Backlight manager |
||||||
|
]; |
||||||
|
|
||||||
|
# services.xserver.videoDriver = |
||||||
|
|
||||||
|
fonts = { |
||||||
|
enableFontDir = true; |
||||||
|
enableGhostscriptFonts = true; |
||||||
|
fonts = with pkgs; [ |
||||||
|
corefonts # Microsoft free fonts |
||||||
|
freetype # Freetype fonts |
||||||
|
inconsolata # Great monospaced font |
||||||
|
ubuntu_font_family # Another great font family |
||||||
|
unifont # International language support |
||||||
|
]; |
||||||
|
}; |
||||||
|
|
||||||
|
services = { |
||||||
|
udisks2.enable = true; |
||||||
|
|
||||||
|
xserver = { |
||||||
|
enableTCP = false; |
||||||
|
exportConfiguration = false; |
||||||
|
enable = true; |
||||||
|
layout = "us"; |
||||||
|
|
||||||
|
displayManager = { |
||||||
|
sessionCommands = '' |
||||||
|
xset r rate 300 30 |
||||||
|
unclutter -grab & |
||||||
|
udiskie & |
||||||
|
feh --bg-fill ~/bgs/dark_night.jpg & |
||||||
|
compton --config /dev/null & |
||||||
|
''; |
||||||
|
}; |
||||||
|
|
||||||
|
desktopManager = { |
||||||
|
xterm.enable = false; |
||||||
|
xfce.enable = false; |
||||||
|
}; |
||||||
|
|
||||||
|
windowManager = { |
||||||
|
xmonad.enable = true; |
||||||
|
xmonad.enableContribAndExtras = true; |
||||||
|
default = "xmonad"; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
environment.systemPackages = with pkgs; [ |
||||||
|
rxvt_unicode-with-plugins # Terminal emulator |
||||||
|
tmux # Terminal multiplexer |
||||||
|
tree # Better file tree |
||||||
|
zsh # ZShell |
||||||
|
xclip # Command line clipboard tool |
||||||
|
]; |
||||||
|
|
||||||
|
programs.zsh.enable = true; |
||||||
|
} |
||||||
|
|
@ -0,0 +1,8 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
environment.systemPackages = with pkgs; [ |
||||||
|
nethack |
||||||
|
steam |
||||||
|
# tibia |
||||||
|
]; |
||||||
|
} |
@ -0,0 +1,32 @@ |
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’ |
||||||
|
# and may be overwritten by future invocations. Please make changes |
||||||
|
# to /etc/nixos/configuration.nix instead. |
||||||
|
{ config, lib, pkgs, ... }: |
||||||
|
|
||||||
|
{ |
||||||
|
imports = |
||||||
|
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> |
||||||
|
]; |
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; |
||||||
|
boot.kernelModules = [ "fbcon" "kvm_intel" ]; # kvm_intel is disabled on the t440s |
||||||
|
boot.extraModulePackages = [ ]; |
||||||
|
|
||||||
|
fileSystems."/" = |
||||||
|
{ device = "/dev/mapper/vg-root"; |
||||||
|
fsType = "ext4"; |
||||||
|
}; |
||||||
|
|
||||||
|
fileSystems."/boot" = |
||||||
|
{ |
||||||
|
mountPoint = "/boot"; |
||||||
|
device = "/dev/sda2"; |
||||||
|
fsType = "vfat"; |
||||||
|
}; |
||||||
|
|
||||||
|
swapDevices = |
||||||
|
[ { device = "/dev/mapper/vg-swap"; } |
||||||
|
]; |
||||||
|
|
||||||
|
nix.maxJobs = 8; |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
imports = [ |
||||||
|
./touchpad.nix |
||||||
|
]; |
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
environment.systemPackages = with pkgs; [ |
||||||
|
xorg.xf86inputsynaptics |
||||||
|
]; |
||||||
|
|
||||||
|
services.xserver = { |
||||||
|
synaptics = { |
||||||
|
enable = true; |
||||||
|
twoFingerScroll = true; |
||||||
|
}; |
||||||
|
}; |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
environment.systemPackages = with pkgs; [ |
||||||
|
physlock |
||||||
|
]; |
||||||
|
|
||||||
|
# Set sudo to use user home |
||||||
|
security.sudo.extraConfig = '' |
||||||
|
Defaults !always_set_home |
||||||
|
Defaults env_keep+="HOME" |
||||||
|
''; |
||||||
|
|
||||||
|
services = { |
||||||
|
# Configure physlock |
||||||
|
physlock = { |
||||||
|
enable = true; |
||||||
|
user = "taylor"; |
||||||
|
lockOn = { |
||||||
|
suspend = true; |
||||||
|
hibernate = true; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
environment.systemPackages = with pkgs; [ |
||||||
|
byzanz # Screen recording software |
||||||
|
calibre # Ebook reader |
||||||
|
chromium # Browser |
||||||
|
gtk # For GTK+ themes |
||||||
|
htop # System monitor |
||||||
|
libreoffice # Libreoffice |
||||||
|
mplayer # Video player |
||||||
|
nox # Better nix package search |
||||||
|
unzip # Unzipper |
||||||
|
xdotool # Diagnostic tool for mouse and keyboard |
||||||
|
]; |
||||||
|
|
||||||
|
nixpkgs.config = { |
||||||
|
chromium = { |
||||||
|
enablePepperFlash = true; |
||||||
|
enablePepperPdf = true; |
||||||
|
}; |
||||||
|
}; |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
{ config, pkgs, ... }: |
||||||
|
{ |
||||||
|
users.extraUsers.taylor = { |
||||||
|
isNormalUser = true; |
||||||
|
home = "/home/taylor"; |
||||||
|
description = "taylor"; |
||||||
|
extraGroups = [ "wheel" "networkmanager" ]; |
||||||
|
shell = "/run/current-system/sw/bin/zsh"; |
||||||
|
uid = 1000; |
||||||
|
}; |
||||||
|
} |
@ -1,2 +1,4 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
sleep 1 |
sleep 1 |
||||||
~/essentials/scripts/lemonbar/final_bar.sh | ~/essentials/scripts/lemonbar/my_bar.sh | bash |
~/essentials/scripts/lemonbar/final_bar.sh | ~/essentials/scripts/lemonbar/my_bar.sh | bash |
||||||
|
@ -1,2 +1 @@ |
|||||||
back="#00000000" |
lemonbar -B "#1f1f1f" -g "800x14+1118+1" |
||||||
lemonbar -f "-benis-uushi-medium-r-normal--11-90-75-75-p-58-iso10646-1" -B "black" -g "800x14+1118+1" |
|
||||||
|
@ -0,0 +1,9 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
case "$1" in |
||||||
|
# suspend|hibernate) |
||||||
|
# ;; |
||||||
|
resume|thaw) |
||||||
|
physlock -d & |
||||||
|
;; |
||||||
|
esac |
@ -0,0 +1,71 @@ |
|||||||
|
# Ubuntu Install |
||||||
|
|
||||||
|
![desktop screenshot](../current-desktop.png?raw=true "Current Desktop") |
||||||
|
|
||||||
|
By running the installer it wipes a complete install and turns it into something more minimal and less resource |
||||||
|
intensive. An alternative would've been to start with the Ubuntu minimal disk and work up, but the full Ubuntu ISO comes with some conveniences that I wanted to keep. Kit includes: |
||||||
|
|
||||||
|
- Compton |
||||||
|
- Xmonad |
||||||
|
- Dmenu |
||||||
|
- Lemonbar |
||||||
|
- Urxvt |
||||||
|
- Physlock |
||||||
|
- feh |
||||||
|
- zsh |
||||||
|
|
||||||
|
It also substitutes Ubuntu's stock media players with less resource intensive alternatives such as `mplayer` and |
||||||
|
`ffmpeg`. |
||||||
|
|
||||||
|
*NOTE:* After rebooting you will boot into a black screen. See the section on GRUB for details. To get to a login |
||||||
|
screen press `ctrl + alt + f1` and login normally. |
||||||
|
|
||||||
|
## X Server |
||||||
|
|
||||||
|
To start Xmonad simply type `startx` at the tty. |
||||||
|
|
||||||
|
Make sure Xresources and Xinitrc are symlinked properly in your home directory. If you have any problems getting |
||||||
|
Xmonad to start, check the logs, and then those two files. |
||||||
|
|
||||||
|
To Kill the server at any time press `alt + shift + q`. |
||||||
|
|
||||||
|
### Xmonad Hotkeys |
||||||
|
|
||||||
|
Here are some hotkeys to get you started: |
||||||
|
|
||||||
|
* `mod4 + shift + q`: Kill X server |
||||||
|
* `mod4 + q`: Recompile Xmonad |
||||||
|
* `mod4 + w`: Move window up |
||||||
|
* `mod4 + s`: Move window down |
||||||
|
* `mod4 + a`: Move window left |
||||||
|
* `mod4 + d`: Move window right |
||||||
|
* `mod4 + enter`: Spawn a new window |
||||||
|
* `mod4 + space`: Launch dmenu |
||||||
|
* `mod4 + h`: Shift focus left |
||||||
|
* `mod4 + j`: Shift focus down |
||||||
|
* `mod4 + k`: Shift focus up |
||||||
|
* `mod4 + l`: Shift focus right |
||||||
|
* `mod4 + <1...9>`: Change to nth workspace |
||||||
|
* `mod4 + t`: Retile windows |
||||||
|
* `mod4 + shift + c`: Close currently focused window |
||||||
|
|
||||||
|
## GRUB |
||||||
|
|
||||||
|
A small change has to be applied to stop Ubuntu from booting into a non-existent display manager's login screen: |
||||||
|
|
||||||
|
1. Type `sudo nano /etc/default/grub` |
||||||
|
2. Find `GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"` |
||||||
|
3. Replace (2) with `GRUB_CMDLINE_LINUX_DEFAULT="text"` |
||||||
|
4. Run `sudo upgrade-grub` |
||||||
|
|
||||||
|
This will force Ubuntu to boot into a tty. To start Ubuntu type `startx` in any tty. |
||||||
|
|
||||||
|
## Changing Desktop Backgrounds |
||||||
|
|
||||||
|
Inside of `~/.xinitrc` is a line that starts with `feh`. Change the image being passed into this |
||||||
|
to change the desktop background. Kill the xserver with `alt + shift + q` and `startx` again. |
||||||
|
|
||||||
|
## TODO |
||||||
|
|
||||||
|
1. Have installer script `git clone` essentials and symlink everything correctly. |
||||||
|
2. Have installer automatically modify the grub config to set up text login mode. |
@ -0,0 +1,159 @@ |
|||||||
|
# Simple script to get an ubuntu system up and running |
||||||
|
# Tested on Ubuntu 16.04 LTS |
||||||
|
|
||||||
|
echo "======== UBUNTU AUTO-INSTALL SCRIPT ========" |
||||||
|
|
||||||
|
echo "Checking for internet connection..." |
||||||
|
nc -z 8.8.8.8 53 >/dev/null 2>&1 |
||||||
|
online=$? |
||||||
|
if [ $online -ne 0 ]; then |
||||||
|
echo "No internet connection detected! Please enable an internet connection before continuing." |
||||||
|
exit |
||||||
|
fi |
||||||
|
|
||||||
|
# Pre-setup |
||||||
|
echo "Running pre-setup..." |
||||||
|
sudo add-apt-repository ppa:neovim-ppa/unstable |
||||||
|
sudo apt-add-repository -y "deb http://repository.spotify.com stable non-free" |
||||||
|
sudo apt-add-repository -y ppa:richardgv/compton |
||||||
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D2C19886 |
||||||
|
sudo dpkg --add-architecture i386 |
||||||
|
sudo add-apt-repository ppa:wine/wine-builds |
||||||
|
sudo apt-get -qq -y update |
||||||
|
sudo apt-get -qq -y upgrade |
||||||
|
|
||||||
|
# Window Manager |
||||||
|
echo "Installing window manager..." |
||||||
|
sudo apt-get -qq -y install xmonad |
||||||
|
sudo apt-get -qq -y install compton |
||||||
|
sudo apt-get -qq -y install libghc-xmonad-contrib-dev |
||||||
|
sudo apt-get -qq -y install xorg |
||||||
|
sudo apt-get -qq -y install xinit |
||||||
|
sudo apt-get -qq -y install wmname |
||||||
|
sudo apt-get -qq -y install libxcb-xinerama0-dev |
||||||
|
sudo apt-get -qq -y install libxcb-randr0-dev |
||||||
|
sudo apt-get -qq -y install xbacklight |
||||||
|
|
||||||
|
# Build and install lemonbar from source |
||||||
|
echo "Installing lemonbar from source..." |
||||||
|
pushd |
||||||
|
cd ~ |
||||||
|
git clone https://github.com/LemonBoy/bar.git |
||||||
|
cd bar/ |
||||||
|
make |
||||||
|
sudo make install |
||||||
|
popd |
||||||
|
|
||||||
|
# Dmenu |
||||||
|
echo "Installing Dmenu..." |
||||||
|
sudo apt-get -qq -y install suckless-tools |
||||||
|
|
||||||
|
# Languages |
||||||
|
echo "Installing languages and tools..." |
||||||
|
sudo apt-get -qq -y install python-dev |
||||||
|
sudo apt-get -qq -y install python-pip |
||||||
|
sudo apt-get -qq -y install python3-dev |
||||||
|
sudo apt-get -qq -y install python3-pip |
||||||
|
sudo apt-get -qq -y install python3-setuptools |
||||||
|
sudo apt-get -qq -y install m4 |
||||||
|
sudo apt-get -qq -y install ocaml |
||||||
|
sudo apt-get -qq -y install aspcud |
||||||
|
sudo apt-get -qq -y install liblapack-dev |
||||||
|
sudo apt-get install --install-recommends winehq-devel |
||||||
|
wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin |
||||||
|
|
||||||
|
# Editors |
||||||
|
echo "Installing editors..." |
||||||
|
sudo apt-get -qq -y install vim |
||||||
|
sudo apt-get -qq -y install neovim |
||||||
|
|
||||||
|
echo "Installing python tools for neovim..." |
||||||
|
sudo pip install neovim |
||||||
|
|
||||||
|
# Terminals |
||||||
|
echo "Installing terminal..." |
||||||
|
sudo apt-get -qq -y rxvt-unicode |
||||||
|
|
||||||
|
# Shell |
||||||
|
echo "Installing shells..." |
||||||
|
sudo apt-get -qq -y install zsh |
||||||
|
|
||||||
|
echo "Changing shell to zsh..." |
||||||
|
chsh -s $(which zsh) |
||||||
|
|
||||||
|
# Source Control |
||||||
|
echo "Installing source control..." |
||||||
|
sudo apt-get -qq -y install git |
||||||
|
|
||||||
|
# Remove Unity (This has to be done here so we can reinstall what unity removes) |
||||||
|
echo "Removing Unity..." |
||||||
|
sudo apt-get -qq -y purge unity |
||||||
|
|
||||||
|
# Multimedia |
||||||
|
echo "Installing multimedia..." |
||||||
|
sudo apt-get -qq -y install ffmpeg |
||||||
|
sudo apt-get -qq -y install mplayer |
||||||
|
sudo apt-get -qq -y install spotify-client |
||||||
|
sudo apt-get -qq -y install pepperflashplugin-nonfree |
||||||
|
|
||||||
|
# Tools |
||||||
|
echo "Installing tools..." |
||||||
|
sudo apt-get -qq -y install transmission |
||||||
|
sudo apt-get -qq -y install htop |
||||||
|
sudo apt-get -qq -y install scrot |
||||||
|
sudo apt-get -qq -y install tmux |
||||||
|
sudo apt-get -qq -y install feh |
||||||
|
sudo apt-get -qq -y install unclutter |
||||||
|
sudo apt-get -qq -y install xdotool |
||||||
|
sudo apt-get -qq -y install cmake |
||||||
|
sudo apt-get -qq -y install gsimplecal |
||||||
|
sudo apt-get -qq -y install xclip |
||||||
|
|
||||||
|
# Comms |
||||||
|
echo "Installing comms..." |
||||||
|
sudo apt-get -qq -y install irssi |
||||||
|
sudo apt-get -qq -y install skype |
||||||
|
|
||||||
|
# Browsers |
||||||
|
echo "Installing browsers..." |
||||||
|
sudo apt-get -qq -y install chromium-browser |
||||||
|
|
||||||
|
# Fonts |
||||||
|
echo "Installing fonts..." |
||||||
|
sudo apt-get -qq -y install fonts-inconsolata |
||||||
|
fc-cache --really-force -v |
||||||
|
|
||||||
|
# Security |
||||||
|
echo "Installing security..." |
||||||
|
sudo apt-get -qq -y install physlock |
||||||
|
|
||||||
|
# Cleanup |
||||||
|
echo "Cleaning up unneccessary programs..." |
||||||
|
sudo apt-get -qq -y purge firefox |
||||||
|
sudo apt-get -qq -y purge rhythmbox |
||||||
|
sudo apt-get -qq -y purge cheese |
||||||
|
sudo apt-get -qq -y purge shotwell |
||||||
|
sudo apt-get -qq -y purge shotwell-common |
||||||
|
sudo apt-get -qq -y purge thunderbird |
||||||
|
sudo apt-get -qq -y purge aisleriot |
||||||
|
sudo apt-get -qq -y purge webbrowser-app |
||||||
|
sudo apt-get -qq -y purge gnome-sudoku |
||||||
|
sudo apt-get -qq -y purge mahjongg |
||||||
|
sudo apt-get -qq -y purge gnomine |
||||||
|
sudo apt-get -qq -y purge ace-of-penguins |
||||||
|
sudo apt-get -qq -y purge onboard |
||||||
|
sudo apt-get -qq -y purge lightdm |
||||||
|
sudo apt-get -qq -y purge gnome-terminal |
||||||
|
sudo apt-get -qq -y purge gnome-terminal-data |
||||||
|
sudo apt -qq -y autoremove |
||||||
|
|
||||||
|
# Right here is where the sed one-line would go to replace |
||||||
|
# "quiet splash" with "text" in the grub config and then call |
||||||
|
# sudo update grub. This eliminates Ubuntu getting stuck trying |
||||||
|
# to boot a login screen that doesn't exist by dropping you |
||||||
|
# straight into a tty. |
||||||
|
|
||||||
|
echo "!!! DONE INSTALLING !!!" |
||||||
|
echo "======== REBOOTING IN 30 SECONDS ========" |
||||||
|
sleep 30 |
||||||
|
sudo reboot |
Loading…
Reference in new issue