This commit is contained in:
Andrea Ciceri 2022-08-19 17:37:23 +02:00
parent bc1347a224
commit 270252e5f8
No known key found for this signature in database
GPG key ID: A1FC89532D1C5654
19 changed files with 178 additions and 84 deletions

View file

@ -36,7 +36,7 @@
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type 'relative)
(setq display-line-numbers-type 't)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
@ -75,8 +75,9 @@
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
(use-package! pinentry
:init (setq epa-pinentry-mode `loopback)
(pinentry-start))
(use-package! dirvish
:config (dirvish-override-dired-mode))
(setenv "SSH_AUTH_SOCK" "/run/user/1000/gnupg/S.gpg-agent.ssh")
(set-formatter! 'nix-flake "nix --no-warn-dirty fmt -- --quiet" :modes '(nix-mode))

View file

@ -16,13 +16,26 @@
;; Confgure `exwm' the X window manager for emacs.
(use-package! exwm
:config
;(mapcar (lambda (i) (exwm-workspace-switch-create i) (number-sequence 0 9)))
;(exwm-workspace-switch-create 1)
;; Configure global key bindings.
(setq exwm-input-global-keys
`(([?\s-r] . exwm-reset)
([?\s-w] . exwm-workspace-switch)
([?\s-q] . kill-this-buffer)
([?\s-f] . exwm-layout-toggle-fullscreen)
([?\s-c] . exwm-input-toggle-keyboard)
([?\s-d] . (lambda (command)
(interactive (list (read-shell-command "$ ")))
(start-process-shell-command command nil command)))
,@(mapcar (lambda (i)
`(,(kbd (format "C-s-%d" i)) .
(lambda ()
(interactive)
(exwm-workspace-move-window ,i))))
(number-sequence 0 9))
,@(mapcar (lambda (i)
`(,(kbd (format "s-%d" i)) .
(lambda ()
@ -30,6 +43,9 @@
(exwm-workspace-switch-create ,i))))
(number-sequence 0 9))))
(setq exwm-layout-show-all-buffers t)
(setq exwm-workspace-show-all-buffers t)
;; Configure the default buffer behaviour. All buffers created in `exwm-mode'
;; are named "*EXWM*". Change it in `exwm-update-class-hook' and `exwm-update-title-hook'
;; which are run when a new X window class name or title is available.
@ -64,10 +80,7 @@
(add-hook 'exwm-update-title-hook 'exwm-rename-buffer)
(require 'exwm-systemtray)
(exwm-systemtray-enable)
;; Enable the window manager.
(exwm-enable))
(exwm-systemtray-enable))
;; Use the `ido' configuration for a few configuration fixes that alter
;; 'C-x b' workplace switching behaviour. This also effects the functionality
@ -83,28 +96,32 @@
(use-package! exwm-randr
:after exwm
:config
(add-hook 'exwm-randr-screen-change-hook
(lambda ()
(let ((xrandr-output-regexp "\n\\([^ ]+\\) connected ")
default-output)
(with-temp-buffer
(call-process "xrandr" nil t nil)
(goto-char (point-min))
(re-search-forward xrandr-output-regexp nil 'noerror)
(setq default-output (match-string 1))
(forward-line)
(if (not (re-search-forward xrandr-output-regexp nil 'noerror))
(call-process
"xrandr" nil nil nil
"--output" default-output
"--auto")
(call-process
"xrandr" nil nil nil
"--output" (match-string 1) "--primary" "--auto"
"--output" default-output "--off"
)
(setq exwm-randr-workspace-monitor-plist
(list 0 (match-string 1))))))))
(setq exwm-randr-workspace-monitor-plist '(1 "DP-2" 2 "eDP-1"))
(setq exwm-workspace-warp-cursor t)
(setq mouse-autoselect-window t
focus-follows-mouse t)
;; (add-hook 'exwm-randr-screen-change-hook
;; (lambda ()
;; (let ((xrandr-output-regexp "\n\\([^ ]+\\) connected ")
;; default-output)
;; (with-temp-buffer
;; (call-process "xrandr" nil t nil)
;; (goto-char (point-min))
;; (re-search-forward xrandr-output-regexp nil 'noerror)
;; (setq default-output (match-string 1))
;; (forward-line)
;; (if (not (re-search-forward xrandr-output-regexp nil 'noerror))
;; (call-process
;; "xrandr" nil nil nil
;; "--output" default-output
;; "--auto")
;; (call-process
;; "xrandr" nil nil nil
;; "--output" (match-string 1) "--primary" "--auto"
;; "--output" default-output "--off"
;; )
;; (setq exwm-randr-workspace-monitor-plist
;; (list 0 (match-string 1))))))))
(exwm-randr-enable))
;; Configure the rudamentary status bar.

View file

@ -49,4 +49,5 @@
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;(unpin! t)
(package! pinentry)
(package! dirvish)

82
flake.lock generated
View file

@ -21,11 +21,11 @@
"doom-emacs": {
"flake": false,
"locked": {
"lastModified": 1657393840,
"narHash": "sha256-ISaIbqCNKKz9DhrTVKvDS40CzZiqICb2eDepGUdwYQA=",
"lastModified": 1659994866,
"narHash": "sha256-6lxvYfoPtzvinBHKvuUDpCz44IJpmZMLfLMy5q9UcFk=",
"owner": "doomemacs",
"repo": "doomemacs",
"rev": "33c5f3721a704c72e49efc5960be3785d1a80b81",
"rev": "b06fd63dcb686045d0c105f93e07f80cb8de6800",
"type": "github"
},
"original": {
@ -80,11 +80,11 @@
"ws-butler": "ws-butler"
},
"locked": {
"lastModified": 1658470797,
"narHash": "sha256-ovk7xcjGqoXgc7fV4m0tlKhiuAglON4TKmt//Bd0fLE=",
"lastModified": 1660129951,
"narHash": "sha256-uY0fxCwUQ5LmfX2CoklqOebKl6GM96qir2Zv1cbHdQI=",
"owner": "nix-community",
"repo": "nix-doom-emacs",
"rev": "f7fd8620be427c6489f496645513d536e380c50c",
"rev": "20ca56a17dc33d67ed7d61b0e84205c617394b5b",
"type": "github"
},
"original": {
@ -96,11 +96,11 @@
"emacs-overlay": {
"flake": false,
"locked": {
"lastModified": 1658430126,
"narHash": "sha256-W5zw1NI7c47qT/FCkNAVmahA5On5UUs1pabAL6Tb2iI=",
"lastModified": 1659638214,
"narHash": "sha256-lXa01G06Ey9qgj+rYN7Nzc53FP3p2UMMnAuxpWXu9Ko=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "6c868dbad387da912e2a47f63a913c8a62555127",
"rev": "a151f9ff5b9fa813ac8918f3a3a67c643e7e2edc",
"type": "github"
},
"original": {
@ -276,11 +276,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1658238241,
"narHash": "sha256-naoSta79MYYRtVnIZhzq+YWgTOBhWE1Sr1AIhG7ZA9g=",
"lastModified": 1660505226,
"narHash": "sha256-Jl1w6X3qNfp0Y5PwRlz/tlhVa6Wzzceq1iScni3gb9s=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "70d5929885ccec8dde8585894dd3ebe606e75f41",
"rev": "ff5133843c26979f8abb5dd801b32f40287692fa",
"type": "github"
},
"original": {
@ -305,6 +305,21 @@
"type": "github"
}
},
"nixosHardware": {
"locked": {
"lastModified": 1660740642,
"narHash": "sha256-tTc3scY+8jG4eWOhrE1aWk2sJ2pu+KBE5axjP3h5zIA=",
"owner": "aciceri",
"repo": "nixos-hardware",
"rev": "21ad034e26eb6451d346b4a3de688042ccbff823",
"type": "github"
},
"original": {
"owner": "aciceri",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1638587357,
@ -323,11 +338,11 @@
},
"nixpkgsStable": {
"locked": {
"lastModified": 1658500284,
"narHash": "sha256-g7vwZ5UF8PvC9f2/7Zf5O6zxgJiMSuh1CiGZVuuOhEQ=",
"lastModified": 1660496378,
"narHash": "sha256-sgAhmrC1iSnl5T2VPPiMpciH1aRw5c7PYEdXX6jd6Gk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e3583ad6e533a9d8dd78f90bfa93812d390ea187",
"rev": "879121648fe522b38cc1cf75aef160a14a1f2e7b",
"type": "github"
},
"original": {
@ -339,11 +354,11 @@
},
"nixpkgsUnstable": {
"locked": {
"lastModified": 1658380158,
"narHash": "sha256-DBunkegKWlxPZiOcw3/SNIFg93amkdGIy2g0y/jDpHg=",
"lastModified": 1660396586,
"narHash": "sha256-ePuWn7z/J5p2lO7YokOG1o01M0pDDVL3VrStaPpS5Ig=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a65b5b3f5504b8b89c196aba733bdf2b0bd13c16",
"rev": "e105167e98817ba9fe079c6c3c544c6ef188e276",
"type": "github"
},
"original": {
@ -355,11 +370,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1658397257,
"narHash": "sha256-2M1Ih3r8/mL8h0n8+PYoGXFazVY9zBcGJrNxNC3JgNo=",
"lastModified": 1659606041,
"narHash": "sha256-W4/u2ssr3fS4XOtltrsDD9w2kF4jYYZr6JyPGUW2jdI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a174de16edfc6aa0893530b9a95d0bd0c2a952b7",
"rev": "5f9b871b72b24f066b1a1e189efd0669f2888c49",
"type": "github"
},
"original": {
@ -417,11 +432,11 @@
"org": {
"flake": false,
"locked": {
"lastModified": 1658412564,
"narHash": "sha256-JHiUjc4OAfPtNTWikVYEIkJkba9qV4N3QbtcJpjk4cM=",
"lastModified": 1659533964,
"narHash": "sha256-ipwJjcRzY9iqEjkG4m8EXZ6+8OMdANuXRnSwct2LByQ=",
"owner": "emacs-straight",
"repo": "org-mode",
"rev": "99681ce38937ba993a0407cee4fd6a7f869211bf",
"rev": "4702a73031c77ba03b480b0848c137d5d8773e07",
"type": "github"
},
"original": {
@ -433,11 +448,11 @@
"org-contrib": {
"flake": false,
"locked": {
"lastModified": 1652646857,
"narHash": "sha256-IWIShWyVnbwXqGLQaDNvJ0KoepxhIrXWTjPyGPEkQ14=",
"lastModified": 1659039737,
"narHash": "sha256-ig8pVl790DopN6ZrCTIrvojt5/0Y+aOsjE87pqIVz8M=",
"owner": "emacsmirror",
"repo": "org-contrib",
"rev": "c1e0980fd7a57ca2042fd78acfb1dfb5c3bc03fa",
"rev": "39e2abc5629c1be6186bb6489ec4f76524edf82a",
"type": "github"
},
"original": {
@ -484,11 +499,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1656169028,
"narHash": "sha256-y9DRauokIeVHM7d29lwT8A+0YoGUBXV3H0VErxQeA8s=",
"lastModified": 1659629599,
"narHash": "sha256-c9rvaqaH3HZo/C70E7rB18YSywa4ryTtN7CZ3cuCmoA=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "db3bd555d3a3ceab208bed48f983ccaa6a71a25e",
"rev": "6a9402e8f233de16536349d1dd3f4595c23386a4",
"type": "github"
},
"original": {
@ -518,6 +533,7 @@
"agenix": "agenix",
"doomEmacs": "doomEmacs",
"homeManager": "homeManager",
"nixosHardware": "nixosHardware",
"nixpkgsStable": "nixpkgsStable",
"nixpkgsUnstable": "nixpkgsUnstable",
"preCommitHooks": "preCommitHooks"
@ -558,11 +574,11 @@
"ts-fold": {
"flake": false,
"locked": {
"lastModified": 1658223568,
"narHash": "sha256-HxUAg+MUbH8nNhKtRzZDeN/a/sCQHSpDRCK2nvvHp8g=",
"lastModified": 1659171920,
"narHash": "sha256-/yY3Ph/BE3PFZhnBIQIHkwOW/43phSI7WeoMvU83TG4=",
"owner": "jcs-elpa",
"repo": "ts-fold",
"rev": "ea554f10e79ed9846662b1639adc4b86783ecfc6",
"rev": "17d131f69a717d7e8cc6d3af9dfa7d2b5e2b78ef",
"type": "github"
},
"original": {

View file

@ -4,6 +4,7 @@
inputs = {
nixpkgsUnstable.url = github:NixOS/nixpkgs/nixos-unstable;
nixpkgsStable.url = github:NixOS/nixpkgs/nixos-22.05;
nixosHardware.url = github:aciceri/nixos-hardware;
homeManager = {
url = github:nix-community/home-manager;
inputs.nixpkgs.follows = "nixpkgsUnstable";
@ -17,6 +18,7 @@
self,
nixpkgsUnstable,
nixpkgsStable,
nixosHardware,
homeManager,
preCommitHooks,
agenix,

View file

@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = [pkgs.binance];
}

View file

@ -0,0 +1,10 @@
{
pkgs,
lib,
...
}: {
home.packages = [pkgs.discord];
home.file.".config/discord/settings.json".text = builtins.toJSON {
SKIP_HOST_UPDATE = true;
};
}

View file

@ -1,4 +1,8 @@
{pkgs, ...}: {
{
pkgs,
config,
...
}: {
programs.emacs.enable = true;
programs.doom-emacs = {
enable = true;
@ -8,6 +12,8 @@
services.emacs = {
enable = true;
extraOptions = ["-f" "exwm-enable"];
defaultEditor = true;
};
home.packages = with pkgs; [

View file

@ -41,11 +41,6 @@
file = "share/zsh/themes/spaceship.zsh-theme";
src = pkgs.spaceship-prompt;
}
{
name = "zsh-fzf-tab";
file = "share/fzf-tab/fzf-tab.plugin.zsh";
src = pkgs.zsh-fzf-tab;
}
{
name = "fast-zsh-syntax-highlighting";
file = "share/zsh/site-functions/fast-syntax-highlighting.plugin.zsh";
@ -57,38 +52,36 @@
plugins = [
"git"
"sudo"
"command-not-found"
"colored-man-pages"
"colorize"
"thefuck"
"fzf"
];
};
shellAliases = {
"pass-clone" = "[ -d .password-store ] && echo 'Password store archive already exists' || git clone git@git.sr.ht:~zrsk/pass ~/.password-store";
"getpass" = "pass show $(find .password-store/ -name \"*.gpg\" | sed \"s/\\.password-store\\/\\(.*\\)\\.gpg$/\\1/g\" | fzf) | wl-copy; ((sleep 60 && wl-copy --clear) &)";
"cat" = "bat";
"man" = "batman";
"em" = "[[ -z \$XDG_CURRENT_DESKTOP ]] && emacsclient -c -nw || emacsclient -c";
"emw" = "emacsclient -c";
"emnw" = "emacsclient -c -nw";
};
localVariables = {
PASSWORD_STORE_DIR = "/home/ccr/.password-store";
SPACESHIP_CHAR_SYMBOL = "λ ";
SPACESHIP_TIME_SHOW = "true";
SPACESHIP_USER_SHOW = "always";
SPACESHIP_HOST_SHOW = "always";
EDITOR = "em";
NIX_BUILD_SHELL = "${pkgs.zsh-nix-shell}/scripts/buildShellShim.zsh";
PROMPT = "\\\${IN_NIX_SHELL:+[nix-shell] }$PROMPT";
};
loginExtra = "[[ -z $DISPLAY && $TTY = /dev/tty1 ]] && exec startx";
initExtra =
if pkgs.stdenv.hostPlatform.isDarwin
then "if test -e /etc/static/bashrc; then source /etc/static/bashrc > /dev/null 2>&1; fi"
else "";
envExtra = ''
[ $TERM = "dumb" ] && unsetopt zle && PS1='$ ' # for Emacs TRAMP mode
'';
};
programs.command-not-found.enable = true;
programs.nix-index = {
enable = true;
enableZshIntegration = true;
};
home.packages = with pkgs; [thefuck];
}

View file

@ -15,6 +15,11 @@
"audio"
"ccr"
"exwm"
"battery"
"ssh"
"adb"
"qmk-udev"
"bluetooth"
];
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod"];

View file

@ -70,4 +70,6 @@
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
services.throttled.enable = true;
}

9
modules/adb/default.nix Normal file
View file

@ -0,0 +1,9 @@
{
config,
lib,
pkgs,
...
}: {
programs.adb.enable = true;
users.users.ccr.extraGroups = ["adbusers"];
}

View file

@ -0,0 +1,13 @@
{config, ...}: {
services.tlp.enable = true;
services.upower.enable = true;
nixpkgs.overlays = [
(self: super: {
tlp = super.tlp.override {
enableRDW = config.networkmanager.enable;
};
})
];
}

View file

@ -0,0 +1,6 @@
{pkgs, ...}: {
services.blueman.enable = true;
hardware.pulseaudio.enable = true;
hardware.bluetooth.enable = true;
services.dbus.packages = with pkgs; [blueman];
}

View file

@ -45,6 +45,7 @@
"vscode"
"element"
"udiskie"
"discord"
];
home.packages = with pkgs; [
];

View file

@ -27,10 +27,12 @@
export QT_IM_MODULE=xim
export CLUTTER_IM_MODULE=xim
dbus-update-activation-environment DISPLAY
# Lockscreen
exec ${pkgs.xss-lock}/bin/xss-lock -- ${pkgs.i3lock-blur}/bin/i3lock-color &
# Finally start Emacs
exec dbus-launch emacsclient --eval "(exwm-init)" --create-frame -F "((fullscreen . fullboth))"
exec dbus-launch emacsclient --create-frame -F "((fullscreen . fullboth))"
'';
}

View file

@ -0,0 +1,3 @@
{pkgs, ...}: {
services.udev.packages = [pkgs.qmk-udev-rules];
}

3
modules/ssh/default.nix Normal file
View file

@ -0,0 +1,3 @@
{
services.sshd.enable = true;
}

View file

@ -1,5 +1,6 @@
{
nixpkgsUnstable,
nixosHardware,
preCommitHooks,
homeManager,
doomEmacs,
@ -48,7 +49,7 @@
thinkpad = mkConfiguration {
name = "thinkpad";
system = supportedSystems.x86_64-linux;
modules = [];
modules = [nixosHardware.nixosModules.lenovo-thinkpad-x1-7th-gen];
};
};