Testing emacs

This commit is contained in:
2025-09-16 15:02:56 -04:00
parent 9b33a71816
commit e75178c276
12 changed files with 1049 additions and 89 deletions

View File

@@ -65,17 +65,6 @@
];
};
users.users.th3r00t = {
isNormalUser = true;
description = "Mike 'th3r00t' Young";
extraGroups = [ "networkmanager" "wheel" "input" ];
packages = with pkgs; [
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8P/3yzsruekSaZ9b+yk429VTcfCtI1j8jnkNbPAgnr th3r00t@nixos"
];
};
environment = {
variables.EDITOR = "nvim";
systemPackages = with pkgs; [

View File

@@ -8,6 +8,20 @@
../services.nix
];
# Define a user account. Don't forget to set a password with passwd.
users.users.th3r00t = {
isNormalUser = true;
description = "Mike 'th3r00t' Young";
extraGroups = [ "networkmanager" "wheel" "input" ];
packages = with pkgs; [
# kdePackages.kate
# thunderbird
];
};
programs.zsh.enable = true;
programs.fish.enable = true;
programs.bash.enable = true;
users.defaultUserShell = pkgs.zsh;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.settings.trusted-users = [ "root" "th3r00t" ];
nix.extraOptions = ''

View File

@@ -59,17 +59,6 @@
];
};
users.users.th3r00t = {
isNormalUser = true;
description = "Mike 'th3r00t' Young";
extraGroups = [ "networkmanager" "wheel" "input" ];
packages = with pkgs; [
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8P/3yzsruekSaZ9b+yk429VTcfCtI1j8jnkNbPAgnr th3r00t@nixos"
];
};
environment = {
variables.EDITOR = "nvim";
systemPackages = with pkgs; [

View File

@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{ config, pkgs, callPackage, ... }:
{
imports =
@@ -27,12 +27,75 @@
options ath10k_core rawmode=1
'';
};
nixpkgs.overlays = [
(import (builtins.fetchTarball {
url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
sha256 = "0d04az7ghk446k7wgrlia4rynanx8863xqfw7qzcwqplpzp8h10r";
}))
];
security.rtkit.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
fonts = {
enableDefaultPackages = true;
fontDir.enable = true;
packages = with pkgs; [
(pkgs.emacsWithPackagesFromUsePackage {
# Your Emacs config file. Org mode babel files are also
# supported.
# NB: Config files cannot contain unicode characters, since
# they're being parsed in nix, which lacks unicode
# support.
# config = ./emacs.org;
config = ../../home/emacs.org;
# config = ./emacs.el;
# Whether to include your config as a default init file.
# If being bool, the value of config is used.
# Its value can also be a derivation like this if you want to do some
# substitution:
# defaultInitFile = pkgs.substituteAll {
# name = "default.el";
# src = ./emacs.el;
# inherit (config.xdg) configHome dataHome;
# };
defaultInitFile = true;
# Package is optional, defaults to pkgs.emacs
# package = pkgs.emacs-git;
package = pkgs.emacs-unstable-pgtk;
# By default emacsWithPackagesFromUsePackage will only pull in
# packages with `:ensure`, `:ensure t` or `:ensure <package name>`.
# Setting `alwaysEnsure` to `true` emulates `use-package-always-ensure`
# and pulls in all use-package references not explicitly disabled via
# `:ensure nil` or `:disabled`.
# Note that this is NOT recommended unless you've actually set
# `use-package-always-ensure` to `t` in your config.
alwaysEnsure = true;
# For Org mode babel files, by default only code blocks with
# `:tangle yes` are considered. Setting `alwaysTangle` to `true`
# will include all code blocks missing the `:tangle` argument,
# defaulting it to `yes`.
# Note that this is NOT recommended unless you have something like
# `#+PROPERTY: header-args:emacs-lisp :tangle yes` in your config,
# which defaults `:tangle` to `yes`.
alwaysTangle = true;
# Optionally provide extra packages not in the configuration file.
# This can also include extra executables to be run by Emacs (linters,
# language servers, formatters, etc)
extraEmacsPackages = epkgs: [
epkgs.cask
pkgs.shellcheck
];
# Optionally override derivations.
override = final: prev: {
weechat = prev.melpaPackages.weechat.overrideAttrs(old: {
patches = [ ./weechat-el.patch ];
});
};
})
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
@@ -56,16 +119,6 @@
};
# Define a user account. Don't forget to set a password with passwd.
users.users.th3r00t = {
isNormalUser = true;
description = "Mike 'th3r00t' Young";
extraGroups = [ "networkmanager" "wheel" "input" ];
packages = with pkgs; [
# kdePackages.kate
# thunderbird
];
};
# List packages installed in system profile. To search, run:
# $ nix search wget
@@ -110,6 +163,10 @@
pulseaudio.enable = false;
libinput.enable = true;
# logmein-hamachi.enable = true;
emacs = {
enable = true;
package = pkgs.emacs-unstable-pgtk;
};
};
# Open ports in the firewall.

View File

@@ -1,14 +1,15 @@
{ config, pkgs, ... }:
{ config, pkgs, inputs, ... }:
{
imports = [
./waybar.nix
];
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
systemd.enable = true;
xwayland.enable = true;
plugins = [
# pkgs.hyprlandPlugins.hyprbars
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars -- Version Mismatch
];
settings = {
input = {
@@ -19,7 +20,7 @@
};
};
decoration = {
rounding = "0";
rounding = "10";
rounding_power = "2";
active_opacity = "1";
inactive_opacity = ".7";
@@ -45,8 +46,8 @@
};
extraConfig = ''
general {
gaps_in = 0
gaps_out = 0
gaps_in = 10
gaps_out = 20
border_size = 1
col.active_border = rgb(b000b5)
col.inactive_border = rgb(1f2335)
@@ -68,7 +69,7 @@
monitor = DP-2, 2560x1080@74.99,auto,1
# monitor = Virtual-1, 2800x1752@120, 1920x0, 1
$terminal-notmux = kitty
$terminal = kitty -e tmux new-session zsh -c 'tmuxstartup.sh'
$terminal = kitty -e tmux
# $terminal = ghostty
# $terminal = footclient
# $terminal = footclient -e tmux new-session zsh -c '~/.local/usr/bin/tmuxstartup.sh'
@@ -188,6 +189,20 @@
# Performance optimizations for Virtual-1 monitor
workspace = name:virtual,monitor:Virtual-1,default:true,gapsin:0,gapsout:0
plugin {
hyprbars {
bar_height = 23
bar_color = rgb(1f2335)
col.text = rgb(b000b5)
bar_text_align = left
bar_text_font = "FiraCode Nerd Font:style=bold"
bar_button_padding = 5
hyprbars-button = rgb(b000b5), 15, 󰅖, hyprctl dispatch killactive
hyprbars-button = rgb(b000b5), 15, 󰖯, hyprctl dispatch fullscreen 1
}
}
'';
};
programs.hyprlock = {

View File

@@ -1,21 +1,30 @@
{ pkgs, config, ... }:
{
programs.starship = {
enable = true;
# custom settings
settings = {
add_newline = false;
aws.disabled = true;
gcloud.disabled = true;
line_break.disabled = true;
};
home.sessionVariables = {
SHELL = "${pkgs.zsh}/bin/zsh";
};
programs.zsh = {
enable = true;
enableCompletion = true;
syntaxHighlighting = {
enable = true;
highlighters = [ "main" "brackets" "cursor" "root" "line" ];
};
autosuggestion.enable = true;
autocd = true;
defaultKeymap = "vicmd";
sessionVariables = {
PATH="$PATH:$HOME/.local/usr/bin";
PYTHONBREAKPOINT="pudb.set_trace";
};
shellAliases = {
urlencode = "python3 -c 'import sys, urllib.parse as ul; print(ul.quote_plus(sys.stdin.read()))'";
urldecode = "python3 -c 'import sys, urllib.parse as ul; print(il.unquote_plus(sys.stdin.read()))'";
ls = "eza";
cat = "bat";
l = "ls -lh --color=always --group-directories-first";
la = "ls -lah --color=always --group-directories-first";
};
oh-my-zsh = {
enable = true;
plugins = [
@@ -43,20 +52,7 @@
"vi-mode"
"zsh-navigation-tools"
];
# theme = "starship";
};
};
programs.bash = {
enable = true;
enableCompletion = true;
bashrcExtra = ''
export PATH="$PATH:$HOME/.local/usr/bin";
'';
shellAliases = {
urlencode = "python3 -c 'import sys, urllib.parse as ul; print(ul.quote_plus(sys.stdin.read()))'";
urldecode = "python3 -c 'import sys, urllib.parse as ul; print(il.unquote_plus(sys.stdin.read()))'";
ls = "eza";
cat = "bat";
theme = "fox";
};
};
}

View File

@@ -67,7 +67,7 @@
];
prefix = "C-a";
# shell = "${pkgs.zsh}/bin/zsh";
shell = "${pkgs.zsh}/bin/zsh";
# terminal = "xterm-kitty:RGB";
tmuxinator.enable = true;
extraConfig = ''