Copyright: Julien Moutinho <julm+julm-nix@sourcephile.fr>
License: CC0-1.0
-Files: *.nix homes/* hosts/* nixos/*
+Files: *.nix homes/* home-manager/* hosts/* nixos/*
Copyright: Julien Moutinho <julm+julm-nix@sourcephile.fr>
License: AGPL-3.0-or-later
--- /dev/null
+{ pkgs, lib, config, ... }:
+{
+home.packages = [ pkgs.aria2 ];
+xdg.configFile."aria2/aria2.conf".text = ''
+ continue=true
+ # Usually not great for compression by the filesystem (ZFS/Btrfs).
+ file-allocation=none
+ max-connection-per-server=16
+ min-split-size=1M
+'';
+}
{ pkgs, lib, config, ... }:
{
programs.bash = {
+ enable = lib.mkDefault true;
shellAliases = {
cl = "clear";
eic = "edit-in-commit";
nixos-clean="sudo nix-collect-garbage -d";
nixos-history="sudo nix-env --list-generations --profile /nix/var/nix/profiles/system";
nixos-rollback="sudo nixos-rebuild switch --rollback";
+ pass-gen = "tr -d -C A-Za-z0-9_- </dev/urandom | head -c";
rsync = "rsync --no-inc-recursive --info=progress2 --inplace --partial";
s="sudo systemctl";
st="sudo systemctl status";
PS1 = ''\[\033[1;32m\]\[\e]0;\u@\h: \w\a\]\W\[\033[0m\] \$(e=\$?; if [ \$e != 0 ]; then echo '\[\e[0;91m\]'\$e'\[\e[0m\]'; fi)\$ '';
};
programs.readline = {
- enable = lib.mkDefault config.programs.bash.enable;
+ enable = lib.mkDefault true;
includeSystemConfig = true;
bindings = {
"\\eOF" = "end-of-line";
{ pkgs, lib, config, nixosConfig, ... }:
{
manual.manpages.enable = lib.mkDefault true;
-programs.direnv.enable = lib.mkDefault true;
-programs.doom-emacs.enable = lib.mkDefault true;
-programs.git.enable = lib.mkDefault true;
-programs.gpg.enable = lib.mkDefault true;
+programs.git.package = pkgs.gitFull;
programs.man.enable = lib.mkDefault true;
-#programs.neovim.enable = lib.mkDefault true;
-programs.vim.enable = lib.mkDefault true;
-services.gpg-agent.enable = lib.mkDefault config.programs.gpg.enable;
home.packages = [
- pkgs.binutils
pkgs.binwalk
pkgs.cachix
pkgs.exa
{
+programs.direnv.enable = true;
+programs.direnv.nix-direnv.enable = true;
+programs.direnv.nix-direnv.enableFlakes = true;
+
xdg.configFile."direnv/direnvrc".text = ''
: ''${XDG_CACHE_HOME:=$HOME/.cache}
declare -A direnv_layout_dirs
)}"
}
'';
-programs.direnv.nix-direnv.enable = true;
-programs.direnv.nix-direnv.enableFlakes = true;
}
{ inputs, pkgs, lib, config, ... }:
{
-options.programs.doom-emacs = {
- enable = lib.mkEnableOption "doom-emacs";
-};
-config = lib.mkIf config.programs.doom-emacs.enable {
/*
imports = [
inputs.nix-doom-emacs.hmModule
};
*/
services.emacs = {
- enable = config.programs.doom-emacs.enable;
+ enable = true;
package = config.programs.emacs.package;
client.enable = true;
socketActivation.enable = true;
};
-fonts.fontconfig.enable = lib.mkDefault config.programs.doom-emacs.enable;
+fonts.fontconfig.enable = lib.mkDefault true;
home.packages = with pkgs; [
# DOOM Emacs dependencies
binutils
DOOMLOCALDIR = "${config.xdg.configHome}/doom-local";
};
xdg.configFile = {
- "doom-config/cli.el".source = emacs/cli.el;
- "doom-config/config.el".source = emacs/config.el;
- "doom-config/init.el".source = emacs/init.el;
- "doom-config/packages.el".source = emacs/packages.el;
+ "doom-config/cli.el".text = lib.readFile emacs/cli.el;
+ "doom-config/config.el".text = lib.readFile emacs/config.el;
+ "doom-config/init.el".text = lib.readFile emacs/init.el;
+ "doom-config/packages.el".text = lib.readFile emacs/packages.el;
"emacs" = {
source = inputs.doom-emacs;
onChange = "${pkgs.writeShellScript "doom-change" ''
xresources.properties = {
#"Emacs.FontBackend" = "xft";
};
-};
}
;; DOC: https://git.v0.io/hlissner/doom-emacs/src/commit/a680a4c96d2b57fcb75635bd1a918e1235e72890/docs/api.org
;; DOC: https://github.com/daviwil/emacs-from-scratch
-(setq user-full-name "Julien Moutinho"
- user-mail-address "julm@sourcephile.fr"
- )
-
;; Line numbers are pretty slow all around. The performance boost of
;; disabling them outweighs the utility of always keeping them on.
(setq display-line-numbers-type nil)
--- /dev/null
+{ pkgs, lib, config, nixosConfig, ... }:
+{
+imports = [
+ ./bash.nix
+ ./direnv.nix
+ ./git.nix
+ ./gnupg.nix
+ ./htop.nix
+ ./ssh.nix
+ ./tmux.nix
+];
+programs.bat.enable = lib.mkDefault true;
+programs.git.package = lib.mkDefault pkgs.gitMinimal;
+programs.home-manager.enable = true;
+home.packages = [
+ nixosConfig.boot.kernelPackages.cpupower
+ pkgs.acpi
+ pkgs.binutils
+ pkgs.cryptsetup
+ pkgs.dstat
+ pkgs.e2fsprogs
+ pkgs.file
+ pkgs.hwinfo
+ pkgs.iotop
+ pkgs.lf
+ pkgs.lm_sensors
+ pkgs.lsof
+ pkgs.lsscsi
+ pkgs.mkpasswd
+ pkgs.multitail
+ pkgs.ncdu
+ pkgs.nix-du
+ pkgs.nload
+ pkgs.parted
+ pkgs.pass
+ pkgs.pciutils
+ pkgs.powertop
+ pkgs.procps
+ pkgs.pstree
+ pkgs.pv
+ pkgs.smartmontools
+ pkgs.smem
+ pkgs.strace
+ pkgs.stress-ng
+ pkgs.tree
+ pkgs.usbutils
+ pkgs.utillinux
+ pkgs.which
+ pkgs.xdg_utils
+] ++ lib.optionals nixosConfig.services.xserver.enable [
+ pkgs.gparted
+];
+home.sessionPath = [ "${config.home.homeDirectory}/bin" ];
+home.sessionVariables = {
+ EDITOR = "vim";
+ LANG = "fr_FR.UTF-8";
+ LESS = "-FRSX";
+ LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
+ MANPAGER = "less";
+};
+}
pkgs.tor-browser-bundle-bin
];
programs.firefox = {
+ enable = lib.mkDefault true;
/*
extensions =
with pkgs.nur.repos.rycee.firefox-addons; [
{ pkgs, lib, config, ... }:
{
programs.git = {
+ enable = true;
ignores = [ "*~" "*.swp" ];
package = lib.mkDefault pkgs.gitFull;
aliases = {
'';
*/
services.gpg-agent = {
+ enable = true;
enableSshSupport = true;
enableExtraSocket = true;
pinentryFlavor = lib.mkDefault (if nixosConfig.services.xserver.enable then "gtk2" else "curses");
};
+programs.gpg.enable = true;
programs.gpg.settings = {
#auto-key-locate = "keyserver";
auto-key-locate = false;
{ pkgs, lib, config, ... }:
{
+imports = [
+ ./redshift.nix
+];
gtk.enable = true;
home.packages = [
pkgs.arandr
pkgs.xsecurelock
pkgs.xss-lock
];
-home.sessionVariables = {
- EDITOR = "vim -g";
-};
services.redshift.enable = lib.mkDefault true;
services.screen-locker = {
enable = true;
-{ lib, ...}:
+{ pkgs, lib, config, ...}:
{
# This must appear before "column_meters_*" options
xdg.configFile."htop/htoprc".text = lib.mkBefore ''
header_layout=two_50_50
'';
+home.packages = [ pkgs.htop ];
programs.htop = {
+ enable = lib.mkDefault true;
settings = {
account_guest_in_cpu_meter = false;
all_branches_collapsed = false;
{ pkgs, lib, config, ... }:
{
+programs.irssi.enable = true;
home.file.".irssi/default.theme".source = irssi/default.theme;
home.file.".irssi/startup".text = ''
load otr
+{ pkgs, lib, config, ... }:
{
+home.packages = [
+ pkgs.mpv
+];
xdg.configFile."mpv/mpv.conf".text = ''
hwdec=auto-safe
profile=gpu-hq
--- /dev/null
+{ pkgs, lib, config, ... }:
+{
+home.packages = [
+ pkgs.neomutt
+];
+}
{ pkgs, lib, config, ... }:
{
-programs.git.enable = lib.mkDefault true;
programs.ssh.enable = lib.mkDefault true;
home.packages = [
pkgs.bmon
home.packages = [
pkgs.aspell
pkgs.aspellDicts.fr
+ pkgs.convmv
+ pkgs.git-crypt
+ pkgs.go-mtpfs
pkgs.hunspell
pkgs.hunspellDicts.fr-moderne
+ pkgs.ntfs3g
+ pkgs.p7zip
pkgs.pdftk
pkgs.poppler_utils
+ pkgs.rdfind
+ pkgs.yubikey-personalization
] ++ lib.optionals nixosConfig.services.xserver.enable [
pkgs.calibre
pkgs.djview
pkgs.evince
pkgs.geeqie
pkgs.gpicview
+ pkgs.keepass
pkgs.libreoffice
pkgs.thunderbird
pkgs.xsane
+ pkgs.yubikey-personalization-gui
];
}
{ pkgs, lib, config, ... }:
{
services.redshift = {
+ enable = true;
latitude = lib.mkDefault "-45.7800";
longitude = lib.mkDefault "1.9700";
temperature.day = lib.mkDefault 6500;
+{ pkgs, lib, config, ... }:
{
programs.tmux = {
+ enable = lib.mkDefault true;
baseIndex = 1;
clock24 = true;
customPaneNavigationAndResize = true;
+{ pkgs, lib, config, ... }:
{
+home.packages = [
+ pkgs.rxvt-unicode
+];
xresources.properties = {
"URxvt*background" = "black";
"URxvt*buffered" = "true";
{ pkgs, lib, config, ... }:
{
+imports = [
+ ./aria2c.nix
+ ./mpv.nix
+];
home.packages = [
- pkgs.aria2
pkgs.ffmpeg
pkgs.gtk-pipe-viewer
pkgs.libdvdcss
pkgs.mplayer
- pkgs.mpv
pkgs.opusTools
pkgs.podl
pkgs.vlc
let inherit (builtins) readFile; in
{
programs.vim = {
+ enable = true;
extraConfig =
readFile vim/init.vim
#+ readFile home/vim/syntastic.vim
{ pkgs, lib, config, ... }:
{
-config = lib.mkIf config.xsession.windowManager.xmonad.enable {
-home.file = {
- ".xmonad/xmobar.hs".source = xmonad/xmobar.hs;
-};
+home.file.".xmonad/xmobar.hs".source = xmonad/xmobar.hs;
xsession = {
+ enable = true;
scriptPath = ".hm-xsession";
initExtra = ''
xset dpms 380 640 1200
${pkgs.pasystray}/bin/pasystray &
'';
windowManager.xmonad = {
+ enable = true;
haskellPackages = pkgs.haskellPackages;
#extraPackages = haskellPackages: [ ];
enableContribAndExtras = true;
pkgs.light
pkgs.mate.caja-with-extensions
(pkgs.writeShellScriptBin "mate-terminal" ''exec ${pkgs.rxvt-unicode}/bin/urxvtc -hold "$@"'')
- pkgs.rxvt-unicode
pkgs.scrot
pkgs.stalonetray
pkgs.wmname
"Xft.rgba" = "rgb";
#"Xft.embolden" = true;
};
-};
}
{ pkgs, lib, config, hostName, ... }:
{
imports = [
- ./programs.nix
- ./options.nix
+ ../home-manager/profiles/essential.nix
+ ../home-manager/profiles/vim.nix
+ ../home-manager/options.nix
julm/mutt.nix
(import (julm/hosts + "/${hostName}.nix"))
];
"security.identityblock.show_extended_validation" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
};
- userChrome = builtins.readFile programs/firefox/userChrome.css;
+ userChrome = lib.readFile ../home-manager/profiles/firefox/userChrome.css;
}; in {
"rp4xy6ye.2021" = lib.mkMerge [defaultProfile {
id = 0;
# SHA256:bCfwfC8MQTjm6c1HcMLtzvGpnWRdqLwe/bvbh2jsNaA
"F6CCA60CF05FADAE911CFBEC0BCDED22F40A19FD"
];
-programs.irssi.extraConfig = builtins.readFile julm/irssi/config;
+programs.irssi.extraConfig = lib.readFile julm/irssi/config;
home.file.".irssi/passwd".text = ''
FreeNode : ${pkgs.pass}/bin/pass freenode.net/irc/julm
GeekNode : ${pkgs.pass}/bin/pass geeknode.org/irc/julm
userEmail = "julm@sourcephile.fr";
signing.key = "0x7182433A39582282929B2A222E3618DD0D087650";
signing.signByDefault = false;
- package =
- if lib.elem hostName [ "losurdo" "oignon" ]
- then pkgs.gitFull
- else pkgs.gitMinimal;
extraConfig = {
sendemail.smtpEncryption = "ssl"; # Yes, "ssl", not "tls" which does not work because it expects STARTTLS.
sendemail.smtpServer = "mail.sourcephile.fr";
+(setq user-full-name "Julien Moutinho"
+ user-mail-address "julm@sourcephile.fr"
+ )
+
+++ /dev/null
-;;; init.el -*- lexical-binding: t; -*-
-
-;; This file controls what Doom modules are enabled and what order they load
-;; in. Remember to run 'doom sync' after modifying it!
-
-;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
-;; documentation. There you'll find a "Module Index" link where you'll find
-;; a comprehensive list of Doom's modules and what flags they support.
-
-;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
-;; 'C-c c k' for non-vim users) to view its documentation. This works on
-;; flags as well (those symbols that start with a plus).
-;;
-;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
-;; directory (for easy access to its source code).
-
-(doom! :input
- ;;chinese
- ;;japanese
- ;;layout ; auie,ctsrnm is the superior home row
-
- :completion
- company ; the ultimate code completion backend
- ;;helm ; the *other* search engine for love and life
- ;;ido ; the other *other* search engine...
- ivy ; a search engine for love and life
-
- :ui
- ;;deft ; notational velocity for Emacs
- doom ; what makes DOOM look the way it does
- doom-dashboard ; a nifty splash screen for Emacs
- doom-quit ; DOOM quit-message prompts when you quit Emacs
- ;;(emoji +unicode) ; 🙂
- ;;fill-column ; a `fill-column' indicator
- hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
- ;;hydra
- ;;indent-guides ; highlighted indent columns
- ;;ligatures ; ligatures and symbols to make your code pretty again
- ;;minimap ; show a map of the code on the side
- modeline ; snazzy, Atom-inspired modeline, plus API
- ;;nav-flash ; blink cursor line after big motions
- ;;neotree ; a project drawer, like NERDTree for vim
- ophints ; highlight the region an operation acts on
- (popup +defaults) ; tame sudden yet inevitable temporary windows
- ;;tabs ; a tab bar for Emacs
- (treemacs +lsp) ; a project drawer, like neotree but cooler
- ;;unicode ; extended unicode support for various languages
- vc-gutter ; vcs diff in the fringe
- vi-tilde-fringe ; fringe tildes to mark beyond EOB
- ;;window-select ; visually switch windows
- workspaces ; tab emulation, persistence & separate workspaces
- ;;zen ; distraction-free coding or writing
-
- :editor
- (evil +everywhere); come to the dark side, we have cookies
- file-templates ; auto-snippets for empty files
- fold ; (nigh) universal code folding
- ;;(format +onsave) ; automated prettiness
- ;;god ; run Emacs commands without modifier keys
- ;;lispy ; vim for lisp, for people who don't like vim
- ;;multiple-cursors ; editing in many places at once
- ;;objed ; text object editing for the innocent
- ;;parinfer ; turn lisp into python, sort of
- ;;rotate-text ; cycle region at point between text candidates
- snippets ; my elves. They type so I don't have to
- ;;word-wrap ; soft wrapping with language-aware indent
-
- :emacs
- dired ; making dired pretty [functional]
- electric ; smarter, keyword-based electric-indent
- ;;ibuffer ; interactive buffer management
- undo ; persistent, smarter undo for your inevitable mistakes
- vc ; version-control and Emacs, sitting in a tree
-
- :term
- ;;eshell ; the elisp shell that works everywhere
- ;;shell ; simple shell REPL for Emacs
- ;;term ; basic terminal emulator for Emacs
- ;;vterm ; the best terminal emulation in Emacs
-
- :checkers
- syntax ; tasing you for every semicolon you forget
- ;;(spell +flyspell) ; tasing you for misspelling mispelling
- ;;grammar ; tasing grammar mistake every you make
-
- :tools
- ;;ansible
- ;;debugger ; FIXME stepping through code, to help you add bugs
- ;;direnv
- ;;docker
- ;;editorconfig ; let someone else argue about tabs vs spaces
- ;;ein ; tame Jupyter notebooks with emacs
- (eval +overlay) ; run code, run (also, repls)
- ;;gist ; interacting with github gists
- lookup ; navigate your code and its documentation
- lsp
- magit ; a git porcelain for Emacs
- ;;make ; run make tasks from Emacs
- ;;pass ; password manager for nerds
- ;;pdf ; pdf enhancements
- ;;prodigy ; FIXME managing external services & code builders
- ;;rgb ; creating color strings
- ;;taskrunner ; taskrunner for all your projects
- ;;terraform ; infrastructure as code
- ;;tmux ; an API for interacting with tmux
- ;;upload ; map local to remote projects via ssh/ftp
-
- :os
- (:if IS-MAC macos) ; improve compatibility with macOS
- ;;tty ; improve the terminal Emacs experience
-
- :lang
- ;;agda ; types of types of types of types...
- ;;beancount ; mind the GAAP
- ;;cc ; C > C++ == 1
- ;;clojure ; java with a lisp
- ;;common-lisp ; if you've seen one lisp, you've seen them all
- ;;coq ; proofs-as-programs
- ;;crystal ; ruby at the speed of c
- ;;csharp ; unity, .NET, and mono shenanigans
- ;;data ; config/data formats
- ;;(dart +flutter) ; paint ui and not much else
- ;;elixir ; erlang done right
- ;;elm ; care for a cup of TEA?
- emacs-lisp ; drown in parentheses
- ;;erlang ; an elegant language for a more civilized age
- ;;ess ; emacs speaks statistics
- ;;factor
- ;;faust ; dsp, but you get to keep your soul
- ;;fsharp ; ML stands for Microsoft's Language
- ;;fstar ; (dependent) types and (monadic) effects and Z3
- ;;gdscript ; the language you waited for
- ;;(go +lsp) ; the hipster dialect
- (haskell +lsp) ; a language that's lazier than I am
- ;;hy ; readability of scheme w/ speed of python
- ;;idris ; a language you can depend on
- ;;json ; At least it ain't XML
- ;;(java +meghanada) ; the poster child for carpal tunnel syndrome
- ;;javascript ; all(hope(abandon(ye(who(enter(here))))))
- ;;julia ; a better, faster MATLAB
- ;;kotlin ; a better, slicker Java(Script)
- ;;latex ; writing papers in Emacs has never been so fun
- ;;lean ; for folks with too much to prove
- ;;ledger ; be audit you can be
- ;;lua ; one-based indices? one-based indices
- markdown ; writing docs for people to ignore
- ;;nim ; python + lisp at the speed of c
- nix ; I hereby declare "nix geht mehr!"
- ;;ocaml ; an objective camel
- org ; organize your plain life in plain text
- ;;php ; perl's insecure younger brother
- ;;plantuml ; diagrams for confusing people more
- ;;purescript ; javascript, but functional
- ;;python ; beautiful is better than ugly
- ;;qt ; the 'cutest' gui framework ever
- ;;racket ; a DSL for DSLs
- ;;raku ; the artist formerly known as perl6
- ;;rest ; Emacs as a REST client
- ;;rst ; ReST in peace
- ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
- ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
- ;;scala ; java, but good
- ;;(scheme +guile) ; a fully conniving family of lisps
- sh ; she sells {ba,z,fi}sh shells on the C xor
- ;;sml
- ;;solidity ; do you need a blockchain? No.
- ;;swift ; who asked for emoji variables?
- ;;terra ; Earth and Moon in alignment for performance.
- ;;web ; the tubes
- ;;yaml ; JSON, but readable
- ;;zig ; C, but simpler
-
- :email
- ;;(mu4e +gmail)
- ;;notmuch
- ;;(wanderlust +gmail)
-
- :app
- ;;calendar
- ;;emms
- ;;everywhere ; *leave* Emacs!? You must be joking
- ;;irc ; how neckbeards socialize
- ;;(rss +org) ; emacs as an RSS reader
- ;;twitter ; twitter client https://twitter.com/vnought
-
- :config
- ;;literate
- (default +bindings +smartparens)
-
- (setq doom-theme 'doom-vibrant)
- (custom-theme-set-faces! 'doom-vibrant
- '(cursor ((t (:background "green"))))
- '(font-lock-comment-face ((t (:foreground "cyan" :italic t :slant oblique))))
- '(font-lock-comment-delimiter-face ((t (:foreground "cyan"))))
- '(fringe ((t (:foreground "red" :background "black"))))
- '(region ((t (:background "yellow4"))))
- '(whitespace-indentation ((t (:foreground "gray50" :bold t))))
- '(whitespace-space ((t (:foreground "black" :bold t))))
- '(whitespace-tab ((t (:foreground "gray50" :bold t))))
- '(whitespace-trailing ((t (:foreground "red" :bold t))))
- '(font-lock-builtin-face ((t (:foreground "yellow" :weight bold))))
- '(font-lock-keyword-face ((t (:foreground "yellow" :weight bold))))
- '(font-lock-string-face ((t (:foreground "magenta"))))
- '(font-lock-variable-name-face ((t (:foreground "SpringGreen3" :weight bold))))
- '(nix-antiquote-face ((t (:foreground "blue"))))
- '(mode-line ((t (:background "darkblue" :foreground "white" :box (:line-width 1 :color "blue") :height 1.0))))
- '(mode-line-inactive ((t (:background "grey30" :foreground "white" :box (:line-width 1 :color "grey30") :weight light :height 1.0))))
- )
-)
-
imports = [
../../../profiles/graphical.nix
../../../profiles/networking.nix
- ../../../profiles/security.nix
- ../../../profiles/system.nix
];
services.gpg-agent.pinentryFlavor = lib.mkForce "curses";
# Does not cross-compile:
{ pkgs, lib, config, ... }:
{
imports = [
- #../../../profiles/chat.nix
- ../../../profiles/developing.nix
- ../../../profiles/graphical.nix
- ../../../profiles/networking.nix
- ../../../profiles/sharing.nix
- ../../../profiles/security.nix
- ../../../profiles/system.nix
- ../../../profiles/video.nix
+ #../../../home-manager/profiles/chat.nix
+ ../../../home-manager/profiles/developing.nix
+ ../../../home-manager/profiles/graphical.nix
+ ../../../home-manager/profiles/networking.nix
+ ../../../home-manager/profiles/sharing.nix
+ ../../../home-manager/profiles/video.nix
];
services.gpg-agent.pinentryFlavor = lib.mkForce "curses";
xsession.enable = true;
{ pkgs, lib, config, ... }:
{
imports = [
- ../../../profiles/networking.nix
- ../../../profiles/security.nix
- ../../../profiles/system.nix
-];
-programs.irssi.enable = true;
-programs.vim.enable = true;
-home.packages = [
- pkgs.neomutt
+ ../../../home-manager/profiles/irssi.nix
+ ../../../home-manager/profiles/mutt.nix
+ ../../../home-manager/profiles/networking.nix
+ ../../../home-manager/profiles/vim.nix
];
}
{ pkgs, lib, config, ... }:
{
imports = [
- ../../../profiles/chat.nix
- ../../../profiles/developing.nix
- ../../../profiles/drawing.nix
- ../../../profiles/gaming.nix
- ../../../profiles/graphical.nix
- ../../../profiles/networking.nix
- ../../../profiles/office.nix
- ../../../profiles/security.nix
- ../../../profiles/sharing.nix
- ../../../profiles/system.nix
- ../../../profiles/video.nix
- ../../../profiles/web.nix
+ ../../../home-manager/profiles/chat.nix
+ ../../../home-manager/profiles/developing.nix
+ ../../../home-manager/profiles/drawing.nix
+ ../../../home-manager/profiles/gaming.nix
+ ../../../home-manager/profiles/graphical.nix
+ ../../../home-manager/profiles/networking.nix
+ ../../../home-manager/profiles/office.nix
+ ../../../home-manager/profiles/sharing.nix
+ ../../../home-manager/profiles/video.nix
+
+ ../../../home-manager/profiles/emacs.nix
+ ../../../home-manager/profiles/firefox.nix
+ ../../../home-manager/profiles/xmonad.nix
+ ../../../home-manager/profiles/ghc.nix
+ ../../../home-manager/profiles/urxvt.nix
];
programs.bash.shellAliases.riseup = "sudo ip netns exec riseup sudo -u $USER PULSE_SERVER=/run/user/$(id -u $USER)/pulse/native";
programs.bash.shellAliases.firefox = "riseup firefox";
]); })
#pkgs.libva-utils
#pkgs.ristretto
+ pkgs.xfce.mousepad
+ #pkgs.mate.pluma
];
-xsession.enable = true;
-xsession.windowManager.xmonad.enable = true;
}
{ pkgs, lib, config, ... }:
{
+imports = [
+ ../../home-manager/profiles/mutt.nix
+];
home.activation.createMuttDirectories =
let mkdir = dir: ''$DRY_RUN_CMD mkdir -p $VERBOSE_ARG "${dir}"''; in
lib.hm.dag.entryAfter [ "writeBoundary" ]
+++ /dev/null
-{
-imports = [
- programs/aria2c.nix
- programs/bash.nix
- programs/direnv.nix
- programs/emacs.nix
- programs/firefox.nix
- programs/ghc.nix
- programs/git.nix
- programs/gnupg.nix
- programs/htop.nix
- programs/irssi.nix
- programs/mpv.nix
- programs/redshift.nix
- programs/ssh.nix
- programs/tmux.nix
- programs/urxvt.nix
- programs/vim.nix
- programs/xmonad.nix
- programs/zsh.nix
-];
-}
+++ /dev/null
-{
-xdg.configFile."aria2/aria2.conf".text = ''
-continue=true
-# Usually not great for compression by the filesystem (ZFS/Btrfs).
-file-allocation=none
-max-connection-per-server=16
-min-split-size=1M
-'';
-}
{ pkgs, lib, config, hostName, ... }:
{
imports = [
- ./programs.nix
- ./options.nix
+ ../home-manager/profiles/essential.nix
+ ../home-manager/profiles/vim.nix
+ ../home-manager/options.nix
(import (sevy/hosts + "/${hostName}.nix"))
];
-programs.git.enable = true;
-programs.git.package = pkgs.gitMinimal;
-home.sessionVariables = {
- EDITOR = "vim -g";
-};
}
{ pkgs, lib, config, ... }:
{
imports = [
- ../../../profiles/chat.nix
- ../../../profiles/developing.nix
- ../../../profiles/drawing.nix
- ../../../profiles/gaming.nix
- ../../../profiles/graphical.nix
- ../../../profiles/networking.nix
- ../../../profiles/office.nix
- ../../../profiles/security.nix
- ../../../profiles/sharing.nix
- ../../../profiles/system.nix
- ../../../profiles/video.nix
- ../../../profiles/web.nix
- ../../../profiles/xfce.nix
+ ../../../home-manager/profiles/chat.nix
+ ../../../home-manager/profiles/developing.nix
+ ../../../home-manager/profiles/drawing.nix
+ ../../../home-manager/profiles/emacs.nix
+ ../../../home-manager/profiles/firefox.nix
+ ../../../home-manager/profiles/gaming.nix
+ ../../../home-manager/profiles/graphical.nix
+ ../../../home-manager/profiles/networking.nix
+ ../../../home-manager/profiles/office.nix
+ ../../../home-manager/profiles/sharing.nix
+ ../../../home-manager/profiles/video.nix
+ ../../../home-manager/profiles/xfce.nix
];
-programs.direnv.enable = true;
-programs.doom-emacs.enable = true;
programs.firefox.enable = false; # error: attribute 'gtk3' missing
-programs.git.enable = true;
-home.sessionVariables = {
-};
home.packages = [
pkgs.chromium
pkgs.firefox
home-manager.users.sevy = {
imports = [ ../homes/sevy.nix ];
- host.hardware = ["ThinkPad" "X200"];
+ host.hardware = [ "ThinkPad" "X200" ];
};
systemd.services.home-manager-sevy.postStart = ''
${pkgs.nix}/bin/nix-env --delete-generations +1 --profile /nix/var/nix/profiles/per-user/sevy/home-manager
+++ /dev/null
-{ pkgs, lib, config, ... }:
-{
-programs.bash.enable = lib.mkDefault true;
-programs.home-manager.enable = true;
-programs.htop.enable = lib.mkDefault true;
-programs.tmux.enable = lib.mkDefault true;
-home.packages = [
- pkgs.cryptsetup
- pkgs.lf
- pkgs.multitail
- pkgs.ncdu
- pkgs.nix-du
- pkgs.procps
- pkgs.smem
- pkgs.strace
- pkgs.tree
- pkgs.utillinux
- pkgs.which
-];
-home.sessionPath = [ "${config.home.homeDirectory}/bin" ];
-home.sessionVariables = {
- EDITOR = "vim";
- LANG = "fr_FR.UTF-8";
- LESS = "-FRSX";
- LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
- MANPAGER = "less";
-};
-}
+++ /dev/null
-{ pkgs, lib, config, nixosConfig, ... }:
-{
-programs.gpg.enable = true;
-services.gpg-agent.enable = true;
-home.packages = [
- pkgs.mkpasswd
- pkgs.pass
- pkgs.yubikey-personalization
-] ++ lib.optionals nixosConfig.services.xserver.enable [
- pkgs.keepass
- pkgs.yubikey-personalization-gui
-];
-}
+++ /dev/null
-{ pkgs, lib, config, nixosConfig, ... }:
-{
-imports = [
- ./essential.nix
-];
-#programs.broot.enable = lib.mkDefault true;
-programs.bat.enable = lib.mkDefault true;
-home.packages = [
- #pkgs.glib # gio
- #pkgs.go-mtpfs
- #pkgs.gvfs
- nixosConfig.boot.kernelPackages.cpupower
- pkgs.acpi
- pkgs.bc
- pkgs.convmv
- pkgs.dstat
- pkgs.e2fsprogs
- pkgs.file
- pkgs.hwinfo
- pkgs.iotop
- pkgs.lm_sensors
- pkgs.lsof
- pkgs.lsscsi
- pkgs.nload
- pkgs.ntfs3g
- pkgs.p7zip
- pkgs.parted
- pkgs.pciutils
- pkgs.powertop
- pkgs.pstree
- pkgs.pv
- pkgs.rdfind
- pkgs.smartmontools
- pkgs.stress-ng
- pkgs.usbutils
- pkgs.xdg_utils
-] ++ lib.optionals nixosConfig.services.xserver.enable [
- pkgs.gparted
-];
-}