Compare commits

...

69 Commits

Author SHA1 Message Date
Jez Cope 78de766903 Merge branch 'main' of codeberg.org:jezcope/boxen 2023-07-09 11:37:03 +01:00
Jez Cope e76e62d3e1 emacs: remove redundant doom.d/config.el 2023-07-08 21:34:14 +01:00
Jez Cope 34d9818d18 emacs: only rebuild straight-env when necessary 2023-07-08 21:32:08 +01:00
Jez Cope fcfc3e6a25 emacs: tangle config.org on rebuild 2023-07-08 20:58:54 +01:00
Jez Cope 235e808c45 desktop: add qutebrowser config 2023-07-08 20:56:06 +01:00
Jez Cope 3ec53a898d desktop: add nyxt, discord 2023-07-08 20:55:50 +01:00
Jez Cope 5a35485bc4 home: add darcs, git; remove pijul 2023-07-08 20:55:25 +01:00
Jez Cope 10463b1a80 system: use hardware.keyboard.(qmk|zsa) options 2023-07-08 20:54:38 +01:00
Jez Cope 0798966454 emacs: move :tangle to file header 2023-07-06 10:54:16 +01:00
Jez Cope a981067caa gwydion: remove redundant nix-serve fw rule 2023-07-05 21:35:17 +01:00
Jez Cope 8a42b3d5d7 Merge remote-tracking branch 'gwydion/feature/nix-doom-emacs' into tmp 2023-07-05 21:19:53 +01:00
Jez Cope a13525635d Merge remote-tracking branch 'gwydion/main' 2023-07-05 20:42:58 +01:00
Jez Cope 13ca1e56bb arianrhod: try to get home network cache working 2023-07-05 20:41:46 +01:00
Jez Cope 3252e2b8a3 flake: nix-doom-emacs cleanup 2023-07-05 20:00:31 +01:00
Jez Cope 3f5527bdca flake: temporary switch to nix-doom-emacs fork 2023-07-05 19:55:37 +01:00
Jez Cope b811abcbcb emacs: initial nix-doom-emacs config 2023-07-05 12:41:48 +01:00
Jez Cope af69f139a9 emacs: disable biblio-notes, enable irc 2023-07-05 12:02:05 +01:00
Jez Cope e7bc4f49c5 desktop: temporarily disable broken blender 2023-07-05 12:01:32 +01:00
Jez Cope 2d9182587f desktop: reenable handbrake 2023-07-05 12:01:14 +01:00
Jez Cope efb223b117 desktop: add pulsar editor 2023-07-05 12:00:51 +01:00
Jez Cope 0e58bae6fe flake: update lockfile 2023-07-05 12:00:20 +01:00
Jez Cope 27f258f98f flake: update lock file 2023-07-03 20:30:43 +01:00
Jez Cope ab91c847ad music: install sc3-plugins with supercollider 2023-07-03 20:29:54 +01:00
Jez Cope 196966dcb5 gwydion: move ~/.cache to ssd 2023-06-30 21:13:21 +01:00
Jez Cope cec13a6984 gwydion: zfs no longer needed 2023-06-30 21:13:02 +01:00
Jez Cope a38c83e7f1 system: enable waydroid 2023-06-30 21:12:47 +01:00
Jez Cope dc14c0a669 system: don't use portal for xdg-open 2023-06-30 21:12:24 +01:00
Jez Cope 47a3391857 flake: update lock file 2023-06-25 20:37:57 +01:00
Jez Cope 8f86654712 mbsync: use full path of cat for PassCmd 2023-06-25 15:21:12 +01:00
Jez Cope afff04a78f home: add tut configuration 2023-06-25 12:07:53 +01:00
Jez Cope b08d5717f4 flake: add nix-std library 2023-06-25 12:07:41 +01:00
Jez Cope ec9ade3603 system: enable logitech wireless dongle support 2023-06-25 12:07:15 +01:00
Jez Cope 4eb76015b3 system: cleanup unused stuff 2023-06-25 12:06:59 +01:00
Jez Cope c24a09fc1e gwydion: switch filesystems to btrfs on lvm 2023-06-25 12:06:06 +01:00
Jez Cope ab45407c9b wal+autorandr: update wallpaper on config change 2023-06-06 08:58:34 +01:00
Jez Cope a62ad9d59f system: add ntfs support 2023-06-06 08:58:13 +01:00
Jez Cope a662ae0561 home: add bottom 2023-06-05 20:53:13 +01:00
Jez Cope 8ef28897d5 system: add hdparm 2023-06-05 20:52:42 +01:00
Jez Cope 8ca82dea06 emacs: rename emacsUnstable -> emacs-unstable 2023-06-05 20:47:31 +01:00
Jez Cope 02849372d0 flake: update lock file 2023-06-05 20:46:54 +01:00
Jez Cope 1200d39de9 desktop: enable udiskie 2023-06-03 21:39:24 +01:00
Jez Cope 3bbf632363 flake: update lock file 2023-05-29 20:43:46 +01:00
Jez Cope cbeeedf32b email: remove protonmail account 2023-05-29 20:30:48 +01:00
Jez Cope cbaaff5d9b chromium: enable wayland support 2023-05-29 20:29:40 +01:00
Jez Cope f0b65fcc44 system: fix long waits for some apps to start 2023-05-29 20:28:40 +01:00
Jez Cope da5ed6760d i3: add key binding for monitor change 2023-05-11 11:32:11 +01:00
Jez Cope 0663b9c1b7 emacs: add clojure support 2023-05-08 11:53:57 +01:00
Jez Cope 819a189d3d Merge branch 'main' of codeberg.org:jezcope/boxen 2023-05-05 20:31:58 +01:00
Jez Cope cfce7b6b96 flake: update lock file 2023-05-05 20:31:30 +01:00
Jez Cope 9030217eb2 desktop: remove nyxt 2023-05-05 20:28:45 +01:00
Jez Cope e89a5e4c04 Merge branch 'main' of codeberg.org:jezcope/boxen 2023-04-29 20:37:46 +01:00
Jez Cope 5fda5d1894 desktop: compatibility updates to config 2023-04-29 20:33:18 +01:00
Jez Cope 6fd7a7fa20 desktop: enable wal shell config 2023-04-29 20:32:36 +01:00
Jez Cope 405d578c30 desktop: remove ipfs wallpaper URLs 2023-04-29 20:31:46 +01:00
Jez Cope 6603a985fc system: enable zsh config 2023-04-29 20:31:12 +01:00
Jez Cope 44b8ffaffd flake: update lock file 2023-04-28 21:30:13 +01:00
Jez Cope 6565e02c34 flake: update lockfile 2023-02-01 16:15:35 +00:00
Jez Cope d1ba510cab i3: use full-fat polybar package 2023-02-01 16:15:19 +00:00
Jez Cope 25033fd030 chromium: add "Read on reMarkable" extension 2023-02-01 16:14:47 +00:00
Jez Cope ddb4fc7719 gwydion: remove fahcontrol (it's broken) 2023-02-01 16:14:19 +00:00
Jez Cope 564ffb6bad system: i3-gaps no longer needed, the fork was merged! 2023-02-01 16:13:54 +00:00
Jez Cope 3f3ba442c6 firefox: https-everywhere no longer available
but not necessary!
2023-01-13 15:37:32 +00:00
Jez Cope 0c34d3cd80 i3: configure autorandr to restart polybar 2023-01-13 15:29:40 +00:00
Jez Cope fca126f6f7 desktop: remove deprecated teams app 2023-01-13 15:28:56 +00:00
Jez Cope bbb6c21b7d i3: launch logseq on startup 2023-01-13 09:07:54 +00:00
Jez Cope 290d3550ab flake: update lock file 2022-12-31 22:09:53 +00:00
Jez Cope 5647895cc9 flake: remove nur.nixpkgs override 2022-12-18 15:59:08 +00:00
Jez Cope 6a1b099c85 desktop: add schildichat 2022-12-18 15:58:17 +00:00
Jez Cope 00eb11a22b home: add netlify cli 2022-12-18 15:58:10 +00:00
22 changed files with 831 additions and 337 deletions

View File

@ -44,6 +44,7 @@
"net.core.rmem_max" = 2500000;
"vm.swappiness" = 10;
};
supportedFilesystems = [ "btrfs" "ntfs" ];
};
powerManagement.cpuFreqGovernor = "schedutil";
@ -60,6 +61,7 @@
users.users.elly.isNormalUser = true;
environment.shells = with pkgs; [ bashInteractive bash xonsh fish zsh ];
programs.zsh.enable = true;
# Networking ###############################################################
networking = {
@ -122,8 +124,10 @@
iputils
ripgrep
usbutils
protonvpn-cli
hdparm
smartmontools
cryptsetup
thin-provisioning-tools
refind
terminus_font
@ -144,23 +148,23 @@
layout = "us";
libinput.enable = true;
displayManager.gdm.enable = true;
displayManager.importedVariables =
[ "XDG_SESSION_TYPE" "XDG_CURRENT_DESKTOP" "XDG_SESSION_DESKTOP" ];
desktopManager.mate.enable = true;
desktopManager.gnome.enable = true;
desktopManager.gnome.flashback.enableMetacity = true;
windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
};
windowManager.i3.enable = true;
};
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
services.dbus.packages = [ pkgs.dconf ];
programs.dconf.enable = true;
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-wlr ];
wlr.enable = true;
xdgOpenUsePortal = false;
};
services.printing.enable = true;
@ -194,78 +198,26 @@
plugins = [ pkgs.ccid ]; # Needed for GPG + Yubikey
};
virtualisation.docker = {
enable = true;
autoPrune.enable = true;
virtualisation = {
docker = {
enable = true;
autoPrune.enable = true;
};
libvirtd.enable = true;
waydroid.enable = true;
spiceUSBRedirection.enable = true;
};
virtualisation.libvirtd.enable = true;
virtualisation.spiceUSBRedirection.enable = true;
users.groups.libvirtd.members = [ "jez" ];
services.netdata.enable = true;
services.smartd.enable = true;
# Hardware #################################################################
services.udev.extraRules = ''
# Atmel DFU
### ATmega16U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fef", TAG+="uaccess"
### ATmega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess"
### ATmega16U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff3", TAG+="uaccess"
### ATmega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess"
### AT90USB64
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff9", TAG+="uaccess"
### AT90USB128
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess"
hardware.logitech.wireless.enable = true;
# Input Club
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess"
# STM32duino
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess"
# STM32 DFU
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess"
# BootloadHID
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess"
# USBAspLoader
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", TAG+="uaccess"
# ModemManager should ignore the following devices
# Atmel SAM-BA (Massdrop)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
# Caterina (Pro Micro)
## Spark Fun Electronics
### Pro Micro 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Pro Micro 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### LilyPad 3V3/8MHz (and some Pro Micro clones)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9207", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Pololu Electronics
### A-Star 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ffb", ATTRS{idProduct}=="0101", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Arduino SA
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## Adafruit Industries LLC
### Feather 32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000c", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 3V3/8MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000d", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### ItsyBitsy 32U4 5V/16MHz
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000e", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
## dog hunter AG
### Leonardo
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
### Micro
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
'';
hardware.keyboard = {
qmk.enable = true;
zsa.enable = true;
};
}

View File

@ -1,18 +1,52 @@
{
"nodes": {
"doom-emacs": {
"flake": false,
"locked": {
"lastModified": 1662497747,
"narHash": "sha256-4n7E1fqda7cn5/F2jTkOnKw1juG6XMS/FI9gqODL3aU=",
"owner": "doomemacs",
"repo": "doomemacs",
"rev": "3853dff5e11655e858d0bfae64b70cb12ef685ac",
"type": "github"
},
"original": {
"owner": "doomemacs",
"repo": "doomemacs",
"rev": "3853dff5e11655e858d0bfae64b70cb12ef685ac",
"type": "github"
}
},
"doom-snippets": {
"flake": false,
"locked": {
"lastModified": 1676839496,
"narHash": "sha256-1Ay9zi0u1lycmEeFqIxr0RWH+JvH9BnzgRzkPeWEAYY=",
"owner": "doomemacs",
"repo": "snippets",
"rev": "fe4003014ae00b866f117cb193f711fd9d72fd11",
"type": "github"
},
"original": {
"owner": "doomemacs",
"repo": "snippets",
"type": "github"
}
},
"emacs-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1670295974,
"narHash": "sha256-+oQzBTxrWag9XnIndTUXvilI78fuIlhRQ+iNtBrlUF8=",
"lastModified": 1688494665,
"narHash": "sha256-wXIBz6NVB1/d+H/nz+6XOrtn5s2jdFEJWuFP1qoHIjY=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "2f7fff8ee668c01803cab2f0847151fdf647134e",
"rev": "54567ac566cd6bfa2607fbe155f9e009ce72306a",
"type": "github"
},
"original": {
@ -21,13 +55,161 @@
"type": "github"
}
},
"flake-utils": {
"emacs-overlay_2": {
"flake": false,
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"lastModified": 1676366521,
"narHash": "sha256-i4UAY8t9Au9SJtsgYppa3NHSVf1YkV6yqnNIQd+Km4g=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "c16be6de78ea878aedd0292aa5d4a1ee0a5da501",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "c16be6de78ea878aedd0292aa5d4a1ee0a5da501",
"type": "github"
}
},
"emacs-so-long": {
"flake": false,
"locked": {
"lastModified": 1575031854,
"narHash": "sha256-xIa5zO0ZaToDrec1OFjBK6l39AbA4l/CE4LInVu2hi0=",
"owner": "hlissner",
"repo": "emacs-so-long",
"rev": "ed666b0716f60e8988c455804de24b55919e71ca",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "emacs-so-long",
"type": "github"
}
},
"evil-collection": {
"flake": false,
"locked": {
"lastModified": 1686801899,
"narHash": "sha256-wGJWF9t8yaxLyYQRf3hK+5/AIYYAS8qWXPDEvatzBlc=",
"owner": "emacs-evil",
"repo": "evil-collection",
"rev": "4a7d924dbd851ef1b2ccb85778be6e7a6a81ebd4",
"type": "github"
},
"original": {
"owner": "emacs-evil",
"repo": "evil-collection",
"type": "github"
}
},
"evil-escape": {
"flake": false,
"locked": {
"lastModified": 1588439096,
"narHash": "sha256-aB2Ge5o/93B18tPf4fN1c+O46CNh/nOqwLJbox4c8Gw=",
"owner": "hlissner",
"repo": "evil-escape",
"rev": "819f1ee1cf3f69a1ae920e6004f2c0baeebbe077",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "evil-escape",
"type": "github"
}
},
"evil-markdown": {
"flake": false,
"locked": {
"lastModified": 1626852210,
"narHash": "sha256-HBBuZ1VWIn6kwK5CtGIvHM1+9eiNiKPH0GUsyvpUVN8=",
"owner": "Somelauw",
"repo": "evil-markdown",
"rev": "8e6cc68af83914b2fa9fd3a3b8472573dbcef477",
"type": "github"
},
"original": {
"owner": "Somelauw",
"repo": "evil-markdown",
"type": "github"
}
},
"evil-org-mode": {
"flake": false,
"locked": {
"lastModified": 1607203864,
"narHash": "sha256-JxwqVYDN6OIJEH15MVI6XOZAPtUWUhJQWHyzcrUvrFg=",
"owner": "hlissner",
"repo": "evil-org-mode",
"rev": "a9706da260c45b98601bcd72b1d2c0a24a017700",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "evil-org-mode",
"type": "github"
}
},
"evil-quick-diff": {
"flake": false,
"locked": {
"lastModified": 1575189609,
"narHash": "sha256-oGzl1ayW9rIuq0haoiFS7RZsS8NFMdEA7K1BSozgnJU=",
"owner": "rgrinberg",
"repo": "evil-quick-diff",
"rev": "69c883720b30a892c63bc89f49d4f0e8b8028908",
"type": "github"
},
"original": {
"owner": "rgrinberg",
"repo": "evil-quick-diff",
"type": "github"
}
},
"explain-pause-mode": {
"flake": false,
"locked": {
"lastModified": 1595842060,
"narHash": "sha256-++znrjiDSx+cy4okFBBXUBkRFdtnE2x+trkmqjB3Njs=",
"owner": "lastquestion",
"repo": "explain-pause-mode",
"rev": "2356c8c3639cbeeb9751744dbe737267849b4b51",
"type": "github"
},
"original": {
"owner": "lastquestion",
"repo": "explain-pause-mode",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1687709756,
"narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7",
"type": "github"
},
"original": {
@ -36,19 +218,53 @@
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1681202837,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"format-all": {
"flake": false,
"locked": {
"lastModified": 1581716637,
"narHash": "sha256-ul7LCe60W8TIvUmUtZtZRo8489TK9iTPDsLHmzxY57M=",
"owner": "lassik",
"repo": "emacs-format-all-the-code",
"rev": "47d862d40a088ca089c92cd393c6dca4628f87d3",
"type": "github"
},
"original": {
"owner": "lassik",
"repo": "emacs-format-all-the-code",
"rev": "47d862d40a088ca089c92cd393c6dca4628f87d3",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
]
},
"locked": {
"lastModified": 1670280307,
"narHash": "sha256-3x+0whP1nCz5adQMIsBA3L9fI/ABOpRUJdbw0AmxBnU=",
"lastModified": 1688467264,
"narHash": "sha256-AUQP1WtmBb36bRc41p5ieTwq6Y8pgiKurbdrsPeP3fg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2af0d07678fc15612345e0dd55337550dcf6465f",
"rev": "b406b8d1bc90f6cd3e120d189b3e929f17ca4aea",
"type": "github"
},
"original": {
@ -57,13 +273,119 @@
"type": "github"
}
},
"nix-doom-emacs": {
"inputs": {
"doom-emacs": "doom-emacs",
"doom-snippets": "doom-snippets",
"emacs-overlay": "emacs-overlay_2",
"emacs-so-long": "emacs-so-long",
"evil-collection": "evil-collection",
"evil-escape": "evil-escape",
"evil-markdown": "evil-markdown",
"evil-org-mode": "evil-org-mode",
"evil-quick-diff": "evil-quick-diff",
"explain-pause-mode": "explain-pause-mode",
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_2",
"format-all": "format-all",
"nix-straight": "nix-straight",
"nixpkgs": "nixpkgs",
"nose": "nose",
"ob-racket": "ob-racket",
"org": "org",
"org-contrib": "org-contrib",
"org-yt": "org-yt",
"php-extras": "php-extras",
"revealjs": "revealjs",
"rotate-text": "rotate-text",
"sln-mode": "sln-mode",
"ts-fold": "ts-fold",
"ws-butler": "ws-butler"
},
"locked": {
"lastModified": 1688582535,
"narHash": "sha256-HSeSSfh2ymUobASavsGZWK7eNd6BA/g80hd0qJjwySA=",
"ref": "fix/evil-collection",
"rev": "ee45d28b54a674da1fd8ccb4e9444d4890345bcc",
"revCount": 774,
"type": "git",
"url": "https://codeberg.org/jezcope/nix-doom-emacs"
},
"original": {
"ref": "fix/evil-collection",
"type": "git",
"url": "https://codeberg.org/jezcope/nix-doom-emacs"
}
},
"nix-std": {
"locked": {
"lastModified": 1685917625,
"narHash": "sha256-2manVKofCZrCToVDnDYNvtYUFBYOM5JhdDoNGVY4fq4=",
"owner": "chessai",
"repo": "nix-std",
"rev": "e20af8822b5739434b875643bfc61fe0195ea2fb",
"type": "github"
},
"original": {
"owner": "chessai",
"repo": "nix-std",
"type": "github"
}
},
"nix-straight": {
"flake": false,
"locked": {
"lastModified": 1666982610,
"narHash": "sha256-xjgIrmUsekVTE+MpZb5DMU8DQf9DJ/ZiR0o30L9/XCc=",
"owner": "nix-community",
"repo": "nix-straight.el",
"rev": "ad10364d64f472c904115fd38d194efe1c3f1226",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-straight.el",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1670152712,
"narHash": "sha256-LJttwIvJqsZIj8u1LxVRv82vwUtkzVqQVi7Wb8gxPS4=",
"lastModified": 1682566018,
"narHash": "sha256-HPzPRFiy2o/7k7mtnwfM1E6NVZHiFbPdmYCMoIpkHO4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "14ddeaebcbe9a25748221d1d7ecdf98e20e2325e",
"rev": "8e3b64db39f2aaa14b35ee5376bd6a2e707cadc2",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixpkgs-unstable",
"type": "indirect"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1688389917,
"narHash": "sha256-RKiK1QeommEsjQ8fLgxt4831x9O6n2gD7wAhVZTrr8M=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "aed4b19d312525ae7ca9bceb4e1efe3357d0e2eb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1688322751,
"narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f",
"type": "github"
},
"original": {
@ -72,13 +394,29 @@
"type": "indirect"
}
},
"nose": {
"flake": false,
"locked": {
"lastModified": 1400604510,
"narHash": "sha256-daEi8Kta1oGaDEmUUDDQMahTTPOpvNpDKk22rlr7cB0=",
"owner": "emacsattic",
"repo": "nose",
"rev": "f8528297519eba911696c4e68fa88892de9a7b72",
"type": "github"
},
"original": {
"owner": "emacsattic",
"repo": "nose",
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1670315682,
"narHash": "sha256-/v0RgZZIjvsFuJbJLUlzRbzSlYFXq3olgJTuJBNtcoY=",
"lastModified": 1688486175,
"narHash": "sha256-dE/nVngCOB+VGtd2Td1IuT3hofZenkmgJNyTCyLPmhg=",
"owner": "nix-community",
"repo": "NUR",
"rev": "af814db16c89385c65e758608296440555f61ccc",
"rev": "9c5af154321678dcd0713885f2cc2630d3817c4b",
"type": "github"
},
"original": {
@ -87,26 +425,203 @@
"type": "github"
}
},
"ob-racket": {
"flake": false,
"locked": {
"lastModified": 1584656173,
"narHash": "sha256-rBUYDDCXb+3D4xTPQo9UocbTPZ32kWV1Uya/1DmZknU=",
"owner": "xchrishawk",
"repo": "ob-racket",
"rev": "83457ec9e1e96a29fd2086ed19432b9d75787673",
"type": "github"
},
"original": {
"owner": "xchrishawk",
"repo": "ob-racket",
"type": "github"
}
},
"org": {
"flake": false,
"locked": {
"lastModified": 1683136293,
"narHash": "sha256-PMHNr3Qo62uqO5IUDAfxUoqa4Zvb9y2J76pRYDB/6Y4=",
"owner": "emacs-straight",
"repo": "org-mode",
"rev": "080710797ad25e76c4556d2b03cc0aa5313cd187",
"type": "github"
},
"original": {
"owner": "emacs-straight",
"repo": "org-mode",
"type": "github"
}
},
"org-contrib": {
"flake": false,
"locked": {
"lastModified": 1675694242,
"narHash": "sha256-4Fn33CTVTCqh5TyVAggSr8Fm8/hB8Xgl+hkxh3WCrI8=",
"owner": "emacsmirror",
"repo": "org-contrib",
"rev": "fff6c888065588527b1c1d7dd7e41c29ef767e17",
"type": "github"
},
"original": {
"owner": "emacsmirror",
"repo": "org-contrib",
"type": "github"
}
},
"org-yt": {
"flake": false,
"locked": {
"lastModified": 1527381913,
"narHash": "sha256-dzQ6B7ryzatHCTLyEnRSbWO0VUiX/FHYnpHTs74aVUs=",
"owner": "TobiasZawada",
"repo": "org-yt",
"rev": "40cc1ac76d741055cbefa13860d9f070a7ade001",
"type": "github"
},
"original": {
"owner": "TobiasZawada",
"repo": "org-yt",
"type": "github"
}
},
"php-extras": {
"flake": false,
"locked": {
"lastModified": 1573312690,
"narHash": "sha256-r4WyVbzvT0ra4Z6JywNBOw5RxOEYd6Qe2IpebHXkj1U=",
"owner": "arnested",
"repo": "php-extras",
"rev": "d410c5af663c30c01d461ac476d1cbfbacb49367",
"type": "github"
},
"original": {
"owner": "arnested",
"repo": "php-extras",
"type": "github"
}
},
"revealjs": {
"flake": false,
"locked": {
"lastModified": 1681386605,
"narHash": "sha256-9Q7aWgjAV37iJp6oYDz45e8J+RKwKY1Uvgg/BXwf5nQ=",
"owner": "hakimel",
"repo": "reveal.js",
"rev": "0301ce58ab185f7191696e16b1b6389f58df2892",
"type": "github"
},
"original": {
"owner": "hakimel",
"repo": "reveal.js",
"type": "github"
}
},
"root": {
"inputs": {
"emacs-overlay": "emacs-overlay",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nix-doom-emacs": "nix-doom-emacs",
"nix-std": "nix-std",
"nixpkgs": "nixpkgs_2",
"nur": "nur"
}
},
"utils": {
"rotate-text": {
"flake": false,
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"lastModified": 1322962747,
"narHash": "sha256-SOeOgSlcEIsKhUiYDJv0p+mLUb420s9E2BmvZQvZ0wk=",
"owner": "debug-ito",
"repo": "rotate-text.el",
"rev": "48f193697db996855aee1ad2bc99b38c6646fe76",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"owner": "debug-ito",
"repo": "rotate-text.el",
"type": "github"
}
},
"sln-mode": {
"flake": false,
"locked": {
"lastModified": 1423727528,
"narHash": "sha256-XqkqPyEJuTtFslOz1fpTf/Klbd/zA7IGpzpmum/MGao=",
"owner": "sensorflo",
"repo": "sln-mode",
"rev": "0f91d1b957c7d2a7bab9278ec57b54d57f1dbd9c",
"type": "github"
},
"original": {
"owner": "sensorflo",
"repo": "sln-mode",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"ts-fold": {
"flake": false,
"locked": {
"lastModified": 1681029086,
"narHash": "sha256-z3eVkAPFI6JYZZ+2XM496zBxwnujTp4Y4KNNfqgUC/E=",
"owner": "jcs-elpa",
"repo": "ts-fold",
"rev": "5fd2a5afe2112ac23b58ee1b12730fcf16068df3",
"type": "github"
},
"original": {
"owner": "jcs-elpa",
"repo": "ts-fold",
"type": "github"
}
},
"ws-butler": {
"flake": false,
"locked": {
"lastModified": 1634511126,
"narHash": "sha256-c0y0ZPtxxICPk+eaNbbQf6t+FRCliNY54CCz9QHQ8ZI=",
"owner": "hlissner",
"repo": "ws-butler",
"rev": "572a10c11b6cb88293de48acbb59a059d36f9ba5",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "ws-butler",
"type": "github"
}
}

View File

@ -7,19 +7,24 @@
home-manager.url = "github:nix-community/home-manager";
nur.url = "github:nix-community/NUR";
emacs-overlay.url = "github:nix-community/emacs-overlay";
#nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
nix-doom-emacs.url =
"git+https://codeberg.org/jezcope/nix-doom-emacs?ref=fix/evil-collection";
nix-std.url = "github:chessai/nix-std";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nur.inputs.nixpkgs.follows = "nixpkgs";
emacs-overlay.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, home-manager, nur, emacs-overlay, ... }@inputs:
outputs = { self, nixpkgs, home-manager, nur, emacs-overlay, nix-std
, nix-doom-emacs, ... }@inputs:
let
inherit (nixpkgs.lib) genAttrs nixosSystem;
system = "x86_64-linux";
hosts = [ "arianrhod" "gwydion" ];
overlay = import ./overlay.nix;
std = nix-std.lib;
in {
inherit overlay;
@ -41,7 +46,8 @@
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.jez = import ./home;
users.jez = { imports = [ nix-doom-emacs.hmModule ./home ]; };
extraSpecialArgs = { inherit std; };
};
}
];

View File

@ -1,4 +1,4 @@
{ config, pkgs, lib, nixosConfig, ... }:
{ config, pkgs, lib, nixosConfig, inputs, std, ... }:
with builtins;
let
@ -53,12 +53,14 @@ in {
ncftp
nix-prefetch-git
nix-index
mercurialFull
pijul
weechat
borgbackup
mblaze
darcs
git
mercurialFull
gnutar
gzip
bzip2
@ -82,6 +84,7 @@ in {
(hunspellWithDicts (with hunspellDicts; [ en_GB-large en_US ]))
btop
bottom
ranger
bat
toot
@ -108,6 +111,7 @@ in {
bibtool
biber
mdbook
netlify-cli
R
gcc_latest
@ -167,6 +171,15 @@ in {
recursive = true;
};
"cabal".source = ./dotfiles/cabal;
"tut/config.toml".text = std.serde.toTOML {
general = { editor = "vim"; };
media.image = {
program = pkgs.kitty + /bin/kitty;
args = "+kitten icat --hold";
terminal = true;
};
};
};
};

View File

@ -2,7 +2,7 @@
let h = config.home.homeDirectory;
in {
home.packages = with pkgs; [ minecraft fahcontrol ];
home.packages = with pkgs; [ minecraft ];
services.mpd = {
enable = true;

View File

@ -5,6 +5,9 @@ with lib;
let
cfg = config.programs.wal;
walCmd = pkgs.pywal + /bin/wal;
updateCmd = ''
${walCmd} -i ${cfg.background} --backend ${cfg.backend} -e -s -t
'';
shellSequences = "~/.cache/wal/sequences";
shellActivate = ''
@ -43,9 +46,8 @@ in {
activation = {
# Must be before onFilesChange because that's when other configs are reloaded
updateWalScheme =
lib.hm.dag.entryBetween [ "onFilesChange" ] [ "writeBoundary" ] ''
${walCmd} -i ${cfg.background} --backend ${cfg.backend} -e -s -t
'';
lib.hm.dag.entryBetween [ "onFilesChange" ] [ "writeBoundary" ]
updateCmd;
};
};
@ -55,5 +57,7 @@ in {
wayland.windowManager.sway = mkIf cfg.sway.enable {
config.output."*".bg = "${cfg.background} ${cfg.sway.bgMode}";
};
programs.autorandr.hooks.postswitch = { "update-wallpaper" = updateCmd; };
};
}

View File

@ -7,14 +7,12 @@
# From Stefanie Buchanan's ArtStation: https://www.artstation.com/artwork/bK0kkn
urls = [
"https://cdnb.artstation.com/p/assets/images/images/029/712/149/large/stefanie-buchanan-img-2414.jpg"
"http://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.localhost:8080/"
"https://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.dweb.link/"
];
name = "wallpaper.jpg";
sha256 =
"b6b9b88e10715e9e7dfd33dc80ecfff90fa58f0529e6f7c88f67f34991da57e0";
};
shell.enable = false;
shell.enable = true;
sway.enable = true;
};

View File

@ -29,7 +29,6 @@ with lib;
libreoffice-fresh
inkscape
krita
nyxt
lagrange
tor-browser-bundle-bin
evolution
@ -39,9 +38,11 @@ with lib;
flameshot
gitkraken
keybase-gui
pulsar
nyxt
openshot-qt
blender
# blender
asunder
gn.cheese
vlc
@ -57,10 +58,12 @@ with lib;
helvum
blueman
blanket
ymuse
schildichat-desktop
signal-desktop
slack
teams
discord
zoom-us
tdesktop
@ -119,7 +122,12 @@ with lib;
fonts.fontconfig.enable = true;
programs.mako = {
services.udiskie = {
enable = true;
tray = "always";
};
services.mako = {
enable = true;
defaultTimeout = 10000;
};
@ -173,6 +181,7 @@ with lib;
programs.chromium = {
enable = true;
commandLineArgs = [ "--ozone-platform-hint=auto" ];
extensions = [
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # uBlock origin
{ id = "hdokiejnpimakedhajhdlcegeplioahd"; } # LastPass
@ -185,11 +194,17 @@ with lib;
{ id = "fpnmgdkabkmnadcjpehmlllkndpkmiak"; } # Wayback Machine
{ id = "iplffkdpngmdjhlpjmppncnlhomiipha"; } # Unpaywall
{ id = "pmcmeagblkinmogikoikkdjiligflglb"; } # Privacy Redirect
{ id = "bfhkfdnddlhfippjbflipboognpdpoeh"; } # Read on reMarkable
];
};
programs.qutebrowser.enable = true;
programs.element-desktop.enable = true;
programs.qutebrowser = {
enable = true;
settings = {
hints.chars = "aoeuhtnsid";
completion.shrink = true;
};
};
programs.obs-studio = {
enable = true;
@ -200,4 +215,9 @@ with lib;
services.syncthing.enable = true;
services.nextcloud-client.enable = true;
# See https://github.com/NixOS/nixpkgs/issues/206630
systemd.user.services.nextcloud-client = {
Unit = { After = pkgs.lib.mkForce "graphical-session.target"; };
};
}

View File

@ -10,9 +10,41 @@ let
doom = "~/.emacs.d/bin/doom";
};
in {
programs.emacs = {
programs.doom-emacs = rec {
enable = true;
package = pkgs.emacsUnstable;
doomPrivateDir = pkgs.callPackage ./doom.d { };
# Only init/packages so we only rebuild when those change.
doomPackageDir = let
filteredPath = builtins.path {
path = doomPrivateDir;
name = "doom-private-dir-filtered";
filter = path: type:
# builtins.elem (baseNameOf path) [ "init.el" "packages.el" "modules" ];
let
relPath =
lib.removePrefix (toString doomPrivateDir + "/") (toString path);
regexes = [ "init.el" "packages.el" "modules(/.*)?" ];
in lib.any (re: builtins.match re relPath != null) regexes;
};
in pkgs.linkFarm "doom-packages-dir" [
{
name = "init.el";
path = "${filteredPath}/init.el";
}
{
name = "packages.el";
path = "${filteredPath}/packages.el";
}
{
name = "modules";
path = "${filteredPath}/modules";
}
{
name = "config.el";
path = pkgs.emptyFile;
}
];
};
home.packages = with pkgs;
@ -23,7 +55,7 @@ in {
mypy
pyright
haskell-language-server
rust-analyzer
rustup
texlab
(pkgs.makeDesktopItem {
@ -36,17 +68,6 @@ in {
})
];
home.file = {
".doom.d" = {
source = ./doom.d;
recursive = true;
};
".doom.d/snippets".source = ./snippets;
".doom.d/nix.el".text = ''
(add-to-list 'load-path "${pkgs.mu}/share/emacs/site-lisp/mu4e")
'';
};
programs.firefox.profiles.default.settings = {
"network.protocol-handler.expose.org-protocol" = false;
};

View File

@ -1,6 +1,7 @@
#+TITLE: Doom emacs configuration
#+STARTUP: overview
#+PROPERTY: header-args :results silent
#+PROPERTY: header-args:emacs-lisp :tangle yes
* Preamble
@ -8,8 +9,6 @@
(require 'dash) ; lists
(require 's) ; strings
(require 'f) ; paths & files
(load-file "~/.doom.d/nix.el")
#+end_src
** Utilities
@ -129,7 +128,7 @@ Most monitors are wide these days: prefer the right-hand side to the bottom for
Disable format-on-save for Rust, since it seems to complain...
#+BEGIN_SRC elisp
#+BEGIN_SRC emacs-lisp
(setq +format-on-save-enabled-modes
'(python-mode nix-mode))
#+END_SRC

View File

@ -0,0 +1,30 @@
{ version ? "dev", lib, stdenv, emacs }:
stdenv.mkDerivation {
pname = "emacs-config";
inherit version;
src = lib.sourceByRegex ./. [
"config.org"
"init.el"
"packages.el"
"modules(/.*)?"
];
buildInputs = [ emacs ];
buildPhase = ''
cp -r $src/* .
# Tangle org files
emacs --batch -Q \
-l org \
config.org \
-f org-babel-tangle
'';
dontUnpack = true;
installPhase = ''
install -D -t $out *.el
cp -r modules $out/
'';
}

View File

@ -90,7 +90,7 @@
lsp
(magit +forge) ; a git porcelain for Emacs
biblio
biblio-notes
;;biblio-notes
;;make ; run make tasks from Emacs
;;pass ; password manager for nerds
;; pdf ; pdf enhancements
@ -126,6 +126,7 @@
gemini
tidal
javascript
clojure
:email
(mu4e +org)
@ -134,10 +135,10 @@
:app
;;calendar
;;irc ; how neckbeards socialize
irc ; how neckbeards socialize
(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
literate
;literate
(default +bindings +smartparens))

View File

@ -65,3 +65,5 @@
(package! monky)
(package! writefreely)
(package! mastodon)

View File

@ -1,36 +1,9 @@
{ config, lib, pkgs, nixosConfig, ... }:
let
params = import ../../../secrets/email.nix;
params = import ../../../secrets/email.nix { inherit pkgs; };
realName = nixosConfig.users.users.jez.description;
in {
accounts.email.accounts.main = rec {
#primary = true;
inherit realName;
inherit (params.main) address userName passwordCommand aliases;
imap = {
inherit (params.main) host;
tls.useStartTls = true;
};
smtp = {
inherit (params.main) host;
port = 587;
tls.useStartTls = true;
};
mu.enable = true;
mbsync = {
enable = true;
create = "both";
remove = "both";
expunge = "both";
flatten = ".";
patterns = [ "*" ];
};
msmtp.enable = true;
};
accounts.email.accounts.fm = rec {
primary = true;
inherit realName;

View File

@ -11,32 +11,31 @@
};
};
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
# Password management
lastpass-password-manager
gopass-bridge
# Privacy
https-everywhere
decentraleyes
ublock-origin
privacy-badger
privacy-possum
privacy-redirect
facebook-container
multi-account-containers
clearurls
# Appearance
darkreader
firefox-color
# Other
unpaywall
tridactyl
];
profiles.default = {
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
# Password management
lastpass-password-manager
gopass-bridge
# Privacy
decentraleyes
ublock-origin
privacy-badger
privacy-possum
privacy-redirect
facebook-container
multi-account-containers
clearurls
# Appearance
darkreader
firefox-color
# Other
unpaywall
tridactyl
];
settings = {
"browser.aboutConfig.showWarning" = false;
"browser.tabs.warnOnClose" = false;
@ -51,6 +50,8 @@
"pdfjs.enableScripting" = false;
"ui.prefersReducedMotion" = 1;
"dom.security.https_only_mode" = true;
};
};

View File

@ -12,15 +12,20 @@ let
rofi = config.programs.rofi.finalPackage + /bin/rofi;
playerctl = pkgs.playerctl + /bin/playerctl;
pamixer = pkgs.pamixer + /bin/pamixer;
autorandr = pkgs.autorandr + /bin/autorandr;
term = "${kitty}";
menu = "${rofi} -show drun";
window-menu = "${rofi} -show window";
change-display = "${autorandr} --change --force";
};
exec = cmd: "exec ${cmd}";
in {
imports = [ ./polybar.nix ];
home.packages = with pkgs; [ arandr autorandr ];
home.packages = with pkgs; [ arandr ];
programs.autorandr.enable = true;
xsession.windowManager.i3 = {
enable = true;
@ -38,6 +43,9 @@ in {
bars = [ ];
startup =
[ { command = "${pkgs.logseq}/bin/logseq"; } { command = cmds.term; } ];
floating.criteria = [
{ window_role = "^EMsgComposer"; } # Evolution mail compose
{ class = "^Yubico Authenticator$"; }
@ -45,11 +53,13 @@ in {
keybindings = let mod = config.xsession.windowManager.i3.config.modifier;
in lib.mkOptionDefault {
"${mod}+Return" = "exec ${cmds.term}";
"${mod}+d" = "exec ${cmds.menu}";
"${mod}+Shift+d" = "exec ${cmds.window-menu}";
"${mod}+Return" = exec cmds.term;
"${mod}+d" = exec cmds.menu;
"${mod}+Shift+d" = exec cmds.window-menu;
"${mod}+Shift+c" = "kill";
"${mod}+p" = exec cmds.change-display;
"${mod}+${left}" = "focus left";
"${mod}+${down}" = "focus down";
"${mod}+${up}" = "focus up";
@ -65,12 +75,12 @@ in {
"${mod}+Ctrl+Left" = "move workspace to output left";
"${mod}+Ctrl+Right" = "move workspace to output right";
XF86AudioPlay = "exec ${cmds.playerctl} play-pause";
XF86AudioNext = "exec ${cmds.playerctl} next";
XF86AudioPrev = "exec ${cmds.playerctl} prev";
XF86AudioStop = "exec ${cmds.playerctl} stop";
XF86AudioRaiseVolume = "exec ${cmds.pamixer} --increase 5";
XF86AudioLowerVolume = "exec ${cmds.pamixer} --decrease 5";
XF86AudioPlay = exec "${cmds.playerctl} play-pause";
XF86AudioNext = exec "${cmds.playerctl} next";
XF86AudioPrev = exec "${cmds.playerctl} prev";
XF86AudioStop = exec "${cmds.playerctl} stop";
XF86AudioRaiseVolume = exec "${cmds.pamixer} --increase 5";
XF86AudioLowerVolume = exec "${cmds.pamixer} --decrease 5";
};
};
};

View File

@ -3,12 +3,7 @@
{
services.polybar = {
enable = true;
package = pkgs.polybar.override {
pulseSupport = true;
mpdSupport = true;
i3GapsSupport = true;
iwSupport = true;
};
package = pkgs.polybarFull;
script = ''
polybar main &
polybar secondary &
@ -59,4 +54,9 @@
};
extraConfig = lib.readFile ./polybar.ini;
};
programs.autorandr.hooks.postswitch.restart-polybar = ''
sleep 1
systemctl --user restart polybar.service
'';
}

View File

@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [ supercollider ];
home.packages = with pkgs; [ supercollider-with-sc3-plugins ];
}

View File

@ -13,5 +13,9 @@
services.xserver.videoDrivers = [ "intel" "fbdev" ];
nix.settings.trusted-substituters = [ "http://gwydion.local:5000" ];
nix.settings = {
substituters = [ "http://192.168.50.204:5000" ];
trusted-public-keys =
[ "gwydion.local-1:NNt+ClE3Z7AKA4SvqtCB+gmBIzI/eUc1mqnecAzhCLI=" ];
};
}

View File

@ -2,27 +2,31 @@
{
imports = [ ./hardware.nix ./backup.nix ];
profiles = [ "home" "zfs" "amdgpu" ];
profiles = [ "home" "amdgpu" ];
boot.loader = {
efi = {
canTouchEfiVariables = false;
efiSysMountPoint = "/boot/efi";
};
grub = {
enable = true;
efiSupport = true;
efiInstallAsRemovable = false;
device = "nodev";
gfxmodeEfi = "2560x1440";
extraConfig = ''
set timeout=2;
set timeout_style="menu";
'';
boot = {
kernelParams = [ "dm-raid.devices_handle_discard_safely=Y" ];
loader = {
efi = {
canTouchEfiVariables = false;
efiSysMountPoint = "/boot/efi";
};
grub = {
enable = true;
efiSupport = true;
efiInstallAsRemovable = false;
device = "nodev";
gfxmodeEfi = "2560x1440";
extraConfig = ''
set timeout=2;
set timeout_style="menu";
'';
};
};
};
virtualisation.docker.storageDriver = "zfs";
virtualisation.docker.storageDriver = "btrfs";
users.users.jez.uid = 1000;
users.groups.jez.gid = 1000;
@ -34,7 +38,6 @@
21 # ftp
1313 # Hugo preview
3000 # various dev web servers
5000 # nix-serve (see below)
];
hardware.pulseaudio.daemon.config = {
@ -43,6 +46,8 @@
avoid-resampling = "yes";
};
services.lvm.boot.thin.enable = true;
services.vsftpd = {
enable = true;
localUsers = true;

View File

@ -1,6 +1,3 @@
# 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, modulesPath, ... }:
{
@ -8,48 +5,20 @@
boot.initrd.availableKernelModules =
[ "ahci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.initrd.kernelModules = [ "dm-snapshot" "dm-raid" "dm-mod" "dm-cache-default" "dm-integrity" ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "trough/ROOT/nixos";
fsType = "zfs";
device = "/dev/gwydion-vg/fastdata";
fsType = "btrfs";
options = [ "subvol=@root/nixos" ];
};
fileSystems."/nix" = {
device = "trough/ROOT/nixos/nix";
fsType = "zfs";
};
fileSystems."/var" = {
device = "trough/ROOT/nixos/var";
fsType = "zfs";
};
fileSystems."/var/lib/docker" = {
device = "trough/DATA/docker";
fsType = "zfs";
};
fileSystems."/home/jez" = {
device = "trough/ROOT/nixos/home/jez";
fsType = "zfs";
};
fileSystems."/home/jez/.config" = {
device = "trough/DATA/home/jez/Config/nixos";
fsType = "zfs";
};
fileSystems."/home/jez/Games" = {
device = "trough/DATA/home/jez/Games";
fsType = "zfs";
};
fileSystems."/home/jez/Scratch" = {
device = "trough/DATA/home/jez/Scratch";
fsType = "zfs";
fileSystems."/home" = {
device = "/dev/gwydion-vg/safedata";
fsType = "btrfs";
options = [ "subvol=@data/home" ];
};
fileSystems."/boot" = {
@ -62,69 +31,14 @@
fsType = "vfat";
};
fileSystems."/home/jez/Documents" = {
device = "tank/home/jez/Documents";
fsType = "zfs";
};
fileSystems."/home/jez/Sync" = {
device = "tank/home/jez/Sync";
fsType = "zfs";
};
fileSystems."/home/jez/Projects" = {
device = "tank/home/jez/Projects";
fsType = "zfs";
};
fileSystems."/home/jez/Music" = {
device = "tank/home/jez/Music";
fsType = "zfs";
};
boot.initrd.luks.devices."secure".preLVM = false;
boot.initrd.luks.devices."secure".device =
"/dev/disk/by-uuid/437f313f-048f-4a9e-9df9-2a946efb05c2";
fileSystems."/home/jez/Private" = {
device = "tank/home/jez/Private";
fsType = "zfs";
};
fileSystems."/home/jez/Downloads" = {
device = "tank/home/jez/Downloads";
fsType = "zfs";
};
fileSystems."/home/jez/10Pending" = {
device = "tank/home/jez/10Pending";
fsType = "zfs";
};
fileSystems."/home/jez/Archive" = {
device = "tank/home/jez/Archive";
fsType = "zfs";
};
fileSystems."/home/jez/Pictures" = {
device = "tank/home/jez/Pictures";
fsType = "zfs";
};
fileSystems."/home/jez/VMs" = {
device = "tank/home/jez/VMs";
fsType = "zfs";
};
fileSystems."/home/jez/Videos" = {
device = "tank/home/jez/Videos";
fsType = "zfs";
};
fileSystems."/home/jez/Web" = {
device = "tank/home/jez/Web";
fsType = "zfs";
};
fileSystems."/home/jez/00Inbox" = {
device = "tank/home/jez/00Inbox";
fsType = "zfs";
device = "/dev/disk/by-uuid/f0da2b16-38e0-46ce-a516-27f48e3f9ea1";
fsType = "btrfs";
options = [ "subvol=@data/home/jez/Private" "compress=zstd" ];
};
fileSystems."/var/lib/music" = {
@ -133,14 +47,40 @@
options = [ "bind" ];
};
fileSystems."/home/jez/Reference" = {
device = "tank/home/jez/Reference";
fsType = "zfs";
fileSystems."/var/lib/docker" = {
device = "/dev/gwydion-vg/fastdata";
fsType = "btrfs";
options = [ "subvol=@data/docker" "compress=zstd" ];
};
fileSystems."/home/jez/VMs/Disks/SSD" = {
device = "trough/DATA/home/jez/VMs/Disks/SSD";
fsType = "zfs";
fileSystems."/home/jez/.cache" = {
device = "/dev/gwydion-vg/fastdata";
fsType = "btrfs";
options = [ "subvol=@data/home/jez/.cache" "compress=zstd" ];
};
fileSystems."/home/jez/.config" = {
device = "/dev/gwydion-vg/fastdata";
fsType = "btrfs";
options = [ "subvol=@data/home/jez/.config" "compress=zstd" ];
};
fileSystems."/home/jez/Games" = {
device = "/dev/gwydion-vg/fastdata";
fsType = "btrfs";
options = [ "subvol=@data/home/jez/Games" ];
};
fileSystems."/home/jez/Scratch" = {
device = "/dev/gwydion-vg/scratch";
fsType = "btrfs";
options = [ "compress=zstd" ];
};
fileSystems."/home/jez/VMs" = {
device = "/dev/gwydion-vg/fastdata";
fsType = "btrfs";
options = [ "subvol=@data/home/jez/VMs" "nodatacow" ];
};
swapDevices = [ ];

Binary file not shown.