forked from colonelpanic/dotfiles
Merge branch 'master' of github.com:IvanMalison/dotfiles
This commit is contained in:
commit
cd16b71219
@ -21,36 +21,31 @@ scrolling:
|
|||||||
# to the terminal.
|
# to the terminal.
|
||||||
auto_scroll: false
|
auto_scroll: false
|
||||||
|
|
||||||
# Colors (Solarized Light)
|
# Colors (Gotham)
|
||||||
colors:
|
colors:
|
||||||
# Default colors
|
# Default colors
|
||||||
primary:
|
primary:
|
||||||
background: '#fdf6e3' # base3
|
background: '0x0a0f14'
|
||||||
foreground: '#657b83' # base00
|
foreground: '0x98d1ce'
|
||||||
|
|
||||||
# Cursor colors
|
|
||||||
cursor:
|
|
||||||
text: '#fdf6e3' # base3
|
|
||||||
cursor: '#657b83' # base00
|
|
||||||
|
|
||||||
# Normal colors
|
# Normal colors
|
||||||
normal:
|
normal:
|
||||||
black: '#073642' # base02
|
black: '0x0a0f14'
|
||||||
red: '#dc322f' # red
|
red: '0xc33027'
|
||||||
green: '#859900' # green
|
green: '0x26a98b'
|
||||||
yellow: '#b58900' # yellow
|
yellow: '0xedb54b'
|
||||||
blue: '#268bd2' # blue
|
blue: '0x195465'
|
||||||
magenta: '#d33682' # magenta
|
magenta: '0x4e5165'
|
||||||
cyan: '#2aa198' # cyan
|
cyan: '0x33859d'
|
||||||
white: '#eee8d5' # base2
|
white: '0x98d1ce'
|
||||||
|
|
||||||
# Bright colors
|
# Bright colors
|
||||||
bright:
|
bright:
|
||||||
black: '#002b36' # base03
|
black: '0x10151b'
|
||||||
red: '#cb4b16' # orange
|
red: '0xd26939'
|
||||||
green: '#586e75' # base01
|
green: '0x081f2d'
|
||||||
yellow: '#657b83' # base00
|
yellow: '0x245361'
|
||||||
blue: '#839496' # base0
|
blue: '0x093748'
|
||||||
magenta: '#6c71c4' # violet
|
magenta: '0x888ba5'
|
||||||
cyan: '#93a1a1' # base1
|
cyan: '0x599caa'
|
||||||
white: '#fdf6e3' # base3
|
white: '0xd3ebe9'
|
||||||
|
@ -61,12 +61,10 @@
|
|||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
# Keyboard/Keymap
|
|
||||||
console.keyMap = "us";
|
|
||||||
|
|
||||||
i18n = {
|
i18n = {
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
};
|
};
|
||||||
|
console.useXkbConfig = true;
|
||||||
|
|
||||||
# Update timezone automatically
|
# Update timezone automatically
|
||||||
services.tzupdate.enable = true;
|
services.tzupdate.enable = true;
|
||||||
@ -85,9 +83,34 @@
|
|||||||
hardware.keyboard.zsa.enable = true;
|
hardware.keyboard.zsa.enable = true;
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
exportConfiguration = true;
|
|
||||||
enable = true;
|
enable = true;
|
||||||
layout = "us";
|
|
||||||
|
xkbOptions = "ctrl:swapcaps";
|
||||||
|
layout = "us+rwin_as_hyper";
|
||||||
|
extraLayouts.hyper = {
|
||||||
|
description = "Right Alt as Hyper key";
|
||||||
|
languages = [ ];
|
||||||
|
symbolsFile = pkgs.writeText "hyper" ''
|
||||||
|
partial modifier_keys
|
||||||
|
xkb_symbols "rwin_as_hyper" {
|
||||||
|
replace key <RWIN> { [ Hyper_R ] };
|
||||||
|
modifier_map Mod3 { <HYPR>, Hyper_L, Hyper_R };
|
||||||
|
};
|
||||||
|
|
||||||
|
partial modifier_keys
|
||||||
|
xkb_symbols "home_as_hyper" {
|
||||||
|
replace key <HOME> { [ Hyper_L ] };
|
||||||
|
modifier_map Mod3 { <HOME>, Hyper_L, Hyper_R };
|
||||||
|
};
|
||||||
|
|
||||||
|
partial modifier_keys
|
||||||
|
xkb_symbols "ralt_as_hyper" {
|
||||||
|
replace key <RALT> { [ Hyper_L, Hyper_L ] };
|
||||||
|
modifier_map Mod3 { <RALT>, Hyper_L };
|
||||||
|
};
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
desktopManager = {
|
desktopManager = {
|
||||||
plasma5.enable = true;
|
plasma5.enable = true;
|
||||||
};
|
};
|
||||||
|
@ -1,336 +0,0 @@
|
|||||||
{ config, pkgs, options, ... }:
|
|
||||||
let
|
|
||||||
my-python-packages = python-packages: with python-packages; [
|
|
||||||
appdirs
|
|
||||||
ipdb
|
|
||||||
ipython
|
|
||||||
numpy
|
|
||||||
openpyxl
|
|
||||||
pip
|
|
||||||
requests
|
|
||||||
tox
|
|
||||||
virtualenv
|
|
||||||
virtualenvwrapper
|
|
||||||
];
|
|
||||||
python-with-my-packages = pkgs.python3.withPackages my-python-packages;
|
|
||||||
all-hies = import (fetchTarball "https://github.com/infinisil/all-hies/tarball/master") {};
|
|
||||||
notifications-tray-icon-source = pkgs.fetchFromGitHub {
|
|
||||||
owner = "IvanMalison";
|
|
||||||
repo = "notifications-tray-icon";
|
|
||||||
rev = "a855ebf924af3d695c5a10caca34b4eb88f58afb";
|
|
||||||
sha256 = "1pd7jhapz080v9q9iv7g8jk9an24zkipmfgg9fmfjr1qjv1zdbib";
|
|
||||||
};
|
|
||||||
notifications-tray-icon = (import (notifications-tray-icon-source.outPath + "/default.nix"));
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
# Disabling these waits disables the stuck on boot up issue
|
|
||||||
systemd.services.systemd-udev-settle.enable = false;
|
|
||||||
systemd.services.NetworkManager-wait-online.enable = false;
|
|
||||||
networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# Security
|
|
||||||
programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
|
|
||||||
services.pcscd.enable = true;
|
|
||||||
|
|
||||||
# Networking
|
|
||||||
environment.etc."ipsec.secrets".text = ''
|
|
||||||
include ipsec.d/ipsec.nm-l2tp.secrets
|
|
||||||
'';
|
|
||||||
networking.networkmanager = {
|
|
||||||
enable = true;
|
|
||||||
enableStrongSwan = true;
|
|
||||||
packages = [ pkgs.networkmanager-l2tp ];
|
|
||||||
extraConfig = ''
|
|
||||||
[main]
|
|
||||||
rc-manager=resolvconf
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Audio
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = true;
|
|
||||||
|
|
||||||
# Video
|
|
||||||
hardware.opengl.driSupport32Bit = true;
|
|
||||||
|
|
||||||
# Bluetooth
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
services.blueman.enable = true;
|
|
||||||
|
|
||||||
# Keyboard
|
|
||||||
console.keyMap = "us";
|
|
||||||
hardware.keyboard.zsa.enable = true;
|
|
||||||
|
|
||||||
i18n = {
|
|
||||||
defaultLocale = "en_US.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.tzupdate.enable = true;
|
|
||||||
xdg.menus.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
|
|
||||||
# Applications
|
|
||||||
alacritty
|
|
||||||
# calibre
|
|
||||||
gnome3.cheese
|
|
||||||
dfeet
|
|
||||||
discord
|
|
||||||
emacs
|
|
||||||
firefox
|
|
||||||
gitter
|
|
||||||
google-chrome
|
|
||||||
hexchat
|
|
||||||
keybase-gui
|
|
||||||
kitty
|
|
||||||
kleopatra
|
|
||||||
# kodi
|
|
||||||
libreoffice
|
|
||||||
lxappearance
|
|
||||||
okular
|
|
||||||
# pulseeffects
|
|
||||||
quassel
|
|
||||||
slack
|
|
||||||
simplescreenrecorder
|
|
||||||
spotify
|
|
||||||
transmission-gtk
|
|
||||||
vlc
|
|
||||||
xfce.thunar
|
|
||||||
wire-desktop
|
|
||||||
yubikey-manager
|
|
||||||
zoom-us
|
|
||||||
|
|
||||||
# Appearance
|
|
||||||
gnome-breeze
|
|
||||||
gnome3.adwaita-icon-theme
|
|
||||||
hicolor-icon-theme
|
|
||||||
materia-theme
|
|
||||||
numix-icon-theme-circle
|
|
||||||
papirus-icon-theme
|
|
||||||
# plasma5.breeze-gtk
|
|
||||||
# plasma5.breeze-qt5
|
|
||||||
|
|
||||||
# Haskell Desktop
|
|
||||||
haskellPackages.imalison-xmonad
|
|
||||||
haskellPackages.imalison-taffybar
|
|
||||||
haskellPackages.status-notifier-item
|
|
||||||
haskellPackages.dbus-hslogger
|
|
||||||
# notifications-tray-icon
|
|
||||||
|
|
||||||
# Desktop
|
|
||||||
autorandr
|
|
||||||
betterlockscreen
|
|
||||||
blueman
|
|
||||||
clipit
|
|
||||||
feh
|
|
||||||
gnome3.gpaste
|
|
||||||
kdeconnect
|
|
||||||
libnotify
|
|
||||||
lxqt.lxqt-powermanagement
|
|
||||||
networkmanagerapplet
|
|
||||||
notify-osd-customizable
|
|
||||||
pasystray
|
|
||||||
picom
|
|
||||||
pinentry
|
|
||||||
pommed_light
|
|
||||||
rofi
|
|
||||||
rofi-pass
|
|
||||||
rofi-systemd
|
|
||||||
skippy-xd
|
|
||||||
synergy
|
|
||||||
udiskie
|
|
||||||
volnoti
|
|
||||||
|
|
||||||
# xorg
|
|
||||||
wmctrl
|
|
||||||
xclip
|
|
||||||
xdotool
|
|
||||||
xorg.xev
|
|
||||||
xorg.xkbcomp
|
|
||||||
xorg.xwininfo
|
|
||||||
xsettingsd
|
|
||||||
|
|
||||||
# Audio
|
|
||||||
pulsemixer
|
|
||||||
pavucontrol
|
|
||||||
playerctl
|
|
||||||
|
|
||||||
# Haskell
|
|
||||||
cabal-install
|
|
||||||
cabal2nix
|
|
||||||
ghc
|
|
||||||
# stack
|
|
||||||
haskellPackages.hpack
|
|
||||||
haskellPackages.hasktags
|
|
||||||
haskellPackages.hoogle
|
|
||||||
# (all-hies.selection { selector = p: { inherit (p) ghc864 ghc865; }; })
|
|
||||||
|
|
||||||
# Scala
|
|
||||||
sbt
|
|
||||||
scala
|
|
||||||
|
|
||||||
# Node
|
|
||||||
nodePackages.npm
|
|
||||||
nodejs
|
|
||||||
|
|
||||||
# Rust
|
|
||||||
cargo
|
|
||||||
carnix
|
|
||||||
# rls
|
|
||||||
rustc
|
|
||||||
rustfmt
|
|
||||||
|
|
||||||
# Clojure
|
|
||||||
boot
|
|
||||||
leiningen
|
|
||||||
|
|
||||||
# Ruby
|
|
||||||
ruby
|
|
||||||
|
|
||||||
# purescript
|
|
||||||
purescript
|
|
||||||
spago
|
|
||||||
|
|
||||||
# dhall
|
|
||||||
haskellPackages.dhall
|
|
||||||
haskellPackages.dhall-json
|
|
||||||
|
|
||||||
# Tools
|
|
||||||
automake
|
|
||||||
bind
|
|
||||||
binutils
|
|
||||||
cmake
|
|
||||||
dex
|
|
||||||
direnv
|
|
||||||
dpkg
|
|
||||||
emacs27Packages.cask
|
|
||||||
fd
|
|
||||||
file
|
|
||||||
gcc
|
|
||||||
gdb
|
|
||||||
gitAndTools.git-crypt
|
|
||||||
gitAndTools.git-extras
|
|
||||||
gitAndTools.git-fame
|
|
||||||
gitAndTools.git-sync
|
|
||||||
gitAndTools.hub
|
|
||||||
gitFull
|
|
||||||
glxinfo
|
|
||||||
gnumake
|
|
||||||
gnupg
|
|
||||||
gparted
|
|
||||||
htop
|
|
||||||
inetutils
|
|
||||||
inotify-tools
|
|
||||||
ispell
|
|
||||||
jq
|
|
||||||
libtool
|
|
||||||
# lorri
|
|
||||||
lsof
|
|
||||||
mercurial
|
|
||||||
ncdu
|
|
||||||
neofetch
|
|
||||||
openvpn
|
|
||||||
parallel
|
|
||||||
pass
|
|
||||||
patchelf
|
|
||||||
pciutils
|
|
||||||
plasma-workspace
|
|
||||||
pijul
|
|
||||||
powertop
|
|
||||||
prometheus
|
|
||||||
pscircle
|
|
||||||
pstree
|
|
||||||
python-with-my-packages
|
|
||||||
qt5.qttools
|
|
||||||
rcm
|
|
||||||
# rr
|
|
||||||
scrot
|
|
||||||
silver-searcher
|
|
||||||
stow
|
|
||||||
subversion
|
|
||||||
swig
|
|
||||||
tmux
|
|
||||||
tzupdate
|
|
||||||
unzip
|
|
||||||
usbutils
|
|
||||||
valgrind
|
|
||||||
wget
|
|
||||||
yubikey-manager
|
|
||||||
|
|
||||||
# Nix
|
|
||||||
nix-prefetch-git
|
|
||||||
cachix
|
|
||||||
|
|
||||||
# Miscellaneous
|
|
||||||
android-udev-rules
|
|
||||||
librsvg
|
|
||||||
|
|
||||||
# Internet computer
|
|
||||||
ic-keysmith
|
|
||||||
quill
|
|
||||||
];
|
|
||||||
|
|
||||||
# XXX: Plasma seems to set this
|
|
||||||
# environment.variables = {
|
|
||||||
# GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
|
|
||||||
# };
|
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
programs.adb.enable = true;
|
|
||||||
|
|
||||||
services.openssh.enable = true;
|
|
||||||
|
|
||||||
services.avahi = {
|
|
||||||
enable = true;
|
|
||||||
nssmdns = true;
|
|
||||||
publish = {
|
|
||||||
enable = true;
|
|
||||||
domain = true;
|
|
||||||
userServices = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# TODO: Add a comment explaining what this does.
|
|
||||||
services.gnome.at-spi2-core.enable = true;
|
|
||||||
|
|
||||||
services.kbfs.enable = true;
|
|
||||||
|
|
||||||
services.autorandr.enable = true;
|
|
||||||
|
|
||||||
services.locate.enable = true;
|
|
||||||
|
|
||||||
# services.lorri.enable = true;
|
|
||||||
|
|
||||||
services.xserver = {
|
|
||||||
exportConfiguration = true;
|
|
||||||
enable = true;
|
|
||||||
layout = "us";
|
|
||||||
desktopManager = {
|
|
||||||
plasma5.enable = true;
|
|
||||||
};
|
|
||||||
windowManager = {
|
|
||||||
session = [
|
|
||||||
{
|
|
||||||
name = "xmonad";
|
|
||||||
start = ''
|
|
||||||
/usr/bin/env imalison-xmonad &
|
|
||||||
waitPID=$!
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
displayManager = {
|
|
||||||
sddm = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
sessionCommands = ''
|
|
||||||
systemctl --user import-environment GDK_PIXBUF_MODULE_FILE DBUS_SESSION_BUS_ADDRESS PATH
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
|
||||||
}
|
|
@ -41,6 +41,7 @@ in
|
|||||||
# Haskell Desktop
|
# Haskell Desktop
|
||||||
haskellPackages.imalison-xmonad
|
haskellPackages.imalison-xmonad
|
||||||
haskellPackages.imalison-taffybar
|
haskellPackages.imalison-taffybar
|
||||||
|
haskellPackages.notifications-tray-icon
|
||||||
haskellPackages.gtk-sni-tray
|
haskellPackages.gtk-sni-tray
|
||||||
haskellPackages.status-notifier-item
|
haskellPackages.status-notifier-item
|
||||||
haskellPackages.dbus-hslogger
|
haskellPackages.dbus-hslogger
|
||||||
@ -79,10 +80,11 @@ in
|
|||||||
htop
|
htop
|
||||||
ncdu
|
ncdu
|
||||||
lsof
|
lsof
|
||||||
tzupdate
|
pass
|
||||||
rcm
|
rcm
|
||||||
ripgrep
|
ripgrep
|
||||||
silver-searcher
|
silver-searcher
|
||||||
|
tzupdate
|
||||||
tmux
|
tmux
|
||||||
usbutils
|
usbutils
|
||||||
wget
|
wget
|
||||||
|
@ -24,10 +24,13 @@
|
|||||||
url = path:../dotfiles/config/taffybar/taffybar;
|
url = path:../dotfiles/config/taffybar/taffybar;
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
notifications-tray-icon = {
|
||||||
|
url = github:IvanMalison/notifications-tray-icon/master;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
outputs = {
|
outputs = {
|
||||||
self, nix, nixpkgs, nixos-hardware, home-manager, taffybar, xmonad,
|
self, nix, nixpkgs, nixos-hardware, home-manager, taffybar, xmonad,
|
||||||
xmonad-contrib
|
xmonad-contrib, notifications-tray-icon
|
||||||
}:
|
}:
|
||||||
let forAll = ({ ... }: {
|
let forAll = ({ ... }: {
|
||||||
nix = {
|
nix = {
|
||||||
@ -38,6 +41,7 @@
|
|||||||
};
|
};
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
nix.overlay taffybar.overlay xmonad.overlay xmonad-contrib.overlay
|
nix.overlay taffybar.overlay xmonad.overlay xmonad-contrib.overlay
|
||||||
|
notifications-tray-icon.overlay
|
||||||
];
|
];
|
||||||
imports = [
|
imports = [
|
||||||
home-manager.nixosModule
|
home-manager.nixosModule
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
allowBitmaps = true;
|
allowBitmaps = true;
|
||||||
useEmbeddedBitmaps = true;
|
useEmbeddedBitmaps = true;
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
monospace = [ "Fira Code" ];
|
monospace = [ "Source Code Pro" ];
|
||||||
sansSerif = [ "Roboto" ];
|
sansSerif = [ "Roboto" ];
|
||||||
serif = [ "Source Serif Pro" ];
|
serif = [ "Source Serif Pro" ];
|
||||||
};
|
};
|
||||||
|
@ -2,11 +2,10 @@
|
|||||||
xsession = {
|
xsession = {
|
||||||
enable = true;
|
enable = true;
|
||||||
preferStatusNotifierItems = true;
|
preferStatusNotifierItems = true;
|
||||||
importedVariables = [ "GDK_PIXBUF_ICON_LOADER" ];
|
importedVariables = [ "GDK_PIXBUF_ICON_LOADER" "PATH" ];
|
||||||
profileExtra = ''
|
profileExtra = ''
|
||||||
export ROFI_SYSTEMD_TERM="alacritty -e"
|
export ROFI_SYSTEMD_TERM="alacritty -e"
|
||||||
. "$HOME/.lib/login.sh"
|
. "$HOME/.lib/login.sh"
|
||||||
load_xkb_map.sh
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit b330f3d2b5a665da920194c9ea51569ff0f05122
|
Subproject commit c40115beb0b0278867b794e69118785ed4d697e5
|
Loading…
Reference in New Issue
Block a user