summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--home/jon/home.nix22
-rw-r--r--programs/dotfiles/awesome/dmenu.lua12
-rw-r--r--programs/dotfiles/awesome/rc.lua14
-rw-r--r--programs/dotfiles/awesome/theme.lua10
-rw-r--r--programs/dotfiles/awesome/widgets/calendar.lua (renamed from programs/dotfiles/awesome/calendar.lua)0
-rw-r--r--programs/dotfiles/awesome/widgets/volume.lua (renamed from programs/dotfiles/awesome/volume.lua)0
-rw-r--r--programs/virt-manager.nix16
-rw-r--r--systems/default.nix69
-rw-r--r--systems/jonbox/default.nix38
-rw-r--r--users/jon.nix1
10 files changed, 108 insertions, 74 deletions
diff --git a/home/jon/home.nix b/home/jon/home.nix
index 6fb6d02..740f1e6 100644
--- a/home/jon/home.nix
+++ b/home/jon/home.nix
@@ -4,9 +4,12 @@ let
username = "jon";
in
{
+ programs.home-manager.enable = true;
+
home.username = username;
home.homeDirectory = "/home/${username}";
+ #Userspace programs
imports = [
../../programs/picom.nix
@@ -16,6 +19,8 @@ in
../../programs/neovim.nix
../../programs/firefox.nix
../../programs/newsboat.nix
+
+ ../../programs/virt-manager.nix
];
home.packages = with pkgs; [
@@ -31,6 +36,12 @@ in
ffmpeg
];
+ programs.ncmpcpp.enable = true;
+ programs.zathura.enable = true;
+ programs.bashmount.enable = true;
+ programs.mpv.enable = true;
+
+ #Awesome
home.activation.installAwesomeWMConfig = ''
if [ ! -d "$HOME/.config/awesome" ]; then
ln -s "/etc/nixos/programs/dotfiles/awesome" "$HOME/.config/awesome"
@@ -38,21 +49,12 @@ in
fi
'';
- programs.home-manager.enable = true;
-
+ #Git
programs.git = {
enable = true;
userName = "Jon Santmyer";
userEmail = "jon@jonsantmyer.com";
};
- programs.ncmpcpp.enable = true;
- programs.zathura.enable = true;
- programs.bashmount.enable = true;
-
- programs.mpv = {
- enable = true;
- };
-
home.stateVersion = "23.05";
}
diff --git a/programs/dotfiles/awesome/dmenu.lua b/programs/dotfiles/awesome/dmenu.lua
new file mode 100644
index 0000000..17301d3
--- /dev/null
+++ b/programs/dotfiles/awesome/dmenu.lua
@@ -0,0 +1,12 @@
+local awful = require("awful")
+local keygrabber = require("awful.keygrabber")
+local beautiful = require("beautiful")
+local wibox = require("wibox")
+local gears = require("gears")
+
+local dmenu_widget = {}
+
+local function worker(user_args)
+
+end
+
diff --git a/programs/dotfiles/awesome/rc.lua b/programs/dotfiles/awesome/rc.lua
index 904164a..3bf090f 100644
--- a/programs/dotfiles/awesome/rc.lua
+++ b/programs/dotfiles/awesome/rc.lua
@@ -137,10 +137,10 @@ toptextclock = wibox.widget.textclock()
-- shape = gears.shape.rounded_rect
--}
-local calendar_widget = require("calendar")
+local calendar_widget = require("widgets.calendar")
local topcalendar = calendar_widget()
-local volume_widget = require("volume")
+local volume_widget = require("widgets.volume")
local volumebar = volume_widget()
toptextclock:connect_signal("button::press",
@@ -316,7 +316,7 @@ awful.screen.connect_for_each_screen(function(s)
}
-- Create the wibox
- s.mywibox = awful.wibar({ position = "top", screen = s, bg = "#00000000"})
+ s.mywibox = awful.wibar({ position = "top", screen = s, bg = "#00000000", border_width = 8,})
s.systray = wibox.widget.systray()
s.systray.visible = true
@@ -327,11 +327,14 @@ awful.screen.connect_for_each_screen(function(s)
expand = "none",
{ -- Left widgets
layout = wibox.layout.fixed.horizontal,
- wibox.container.margin(s.mytaglist, 5, 0, 0),
+ s.mytaglist,
s.mypromptbox,
},
s.mytasklist, -- Middle widget
{ -- Right widgets
+ volumebar,
+ toptextclock,
+ wibox.container.margin(s.mylayoutbox, 4, 4, 4, 4),
{
{
layout = wibox.layout.fixed.horizontal,
@@ -344,9 +347,6 @@ awful.screen.connect_for_each_screen(function(s)
top = 4,
bottom = 4
},
- volumebar,
- toptextclock,
- wibox.container.margin(s.mylayoutbox, 4, 4, 4, 4),
},
widget = wibox.container.background,
shape = gears.shape.rounded_rect,
diff --git a/programs/dotfiles/awesome/theme.lua b/programs/dotfiles/awesome/theme.lua
index c2da65a..49fe840 100644
--- a/programs/dotfiles/awesome/theme.lua
+++ b/programs/dotfiles/awesome/theme.lua
@@ -29,8 +29,8 @@ theme.tag_list_occupied = "#767d98"
theme.tag_list_focused = "#cdd6f4"
theme.tag_list_urgent = "#f38ba8"
-theme.useless_gap = dpi(8)
-theme.border_width = dpi(3)
+theme.useless_gap = dpi(4)
+theme.border_width = dpi(4)
theme.border_normal = theme.bg_normal
theme.border_focus = theme.bg_focus
theme.border_marked = theme.fg_focus
@@ -132,12 +132,6 @@ theme.awesome_icon = theme_assets.awesome_icon(
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
theme.icon_theme = nil
-theme.taglist_text_font = "FiraCode Nerd Font"
-
-theme.taglist_text_empty = { "", "", "", "", "", "", "", "", "", "" }
-theme.taglist_text_occupied = { "", "", "", "", "", "", "", "", "", "" }
-theme.taglist_text_focused = { "", "", "", "", "", "", "", "", "", "" }
-
return theme
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
diff --git a/programs/dotfiles/awesome/calendar.lua b/programs/dotfiles/awesome/widgets/calendar.lua
index 6e791b3..6e791b3 100644
--- a/programs/dotfiles/awesome/calendar.lua
+++ b/programs/dotfiles/awesome/widgets/calendar.lua
diff --git a/programs/dotfiles/awesome/volume.lua b/programs/dotfiles/awesome/widgets/volume.lua
index 21c200b..21c200b 100644
--- a/programs/dotfiles/awesome/volume.lua
+++ b/programs/dotfiles/awesome/widgets/volume.lua
diff --git a/programs/virt-manager.nix b/programs/virt-manager.nix
new file mode 100644
index 0000000..b2f3de5
--- /dev/null
+++ b/programs/virt-manager.nix
@@ -0,0 +1,16 @@
+{ pkgs, username, ... }:
+{
+ dconf.settings = {
+ "org/virt-manager/virt-manager/connections" = {
+ autoconnect = ["qemu:///system"];
+ uris = ["qemu:///system"];
+ };
+ };
+
+ xdg.configFile."libvirt/qemu.conf".text = ''
+nvram = [
+ "/run/libvirt/nix-ovmf/AAVMF_CODE.fd:/run/libvirt/nix-ovmf/AAVMF_VARS.fd",
+ "/run/libvirt/nix-ovmf/OVMF_CODE.fd:/run/libvirt/nix-ovmf/OVMF_VARS.fd"
+]
+ '';
+}
diff --git a/systems/default.nix b/systems/default.nix
index 1cd1037..94bb592 100644
--- a/systems/default.nix
+++ b/systems/default.nix
@@ -12,11 +12,13 @@
../programs/openvpn.nix
];
+ #Default boot parameters.
boot = {
tmp.cleanOnBoot = true;
initrd.verbose = false;
};
+ #Nix package manager configs.
nix = {
registry = lib.mapAttrs (_: value: {flake = value;}) inputs;
@@ -30,17 +32,19 @@
gc = {
automatic = true;
dates = "weekly";
- options = "--delete-older-than 7d"
+ options = "--delete-older-than 7d";
};
};
+ #Networking
networking.hostName = hostname; # Define your hostname.
networking.useDHCP = lib.mkDefault true;
networking.networkmanager.enable = true;
- # Set your time zone.
+ #Timezone
time.timeZone = "America/New_York";
+ #Locale & Fonts
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
@@ -53,27 +57,17 @@
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
-
- # Configure X11
- services.xserver = {
- enable = true;
- layout = "us";
- xkbVariant = "";
-
- displayManager = {
- sddm.enable = true;
- defaultSession = "none+awesome";
- };
-
- windowManager.awesome = {
- enable = true;
- luaModules = with pkgs.luaPackages; [
- luarocks
- luadbi-mysql
- ];
- };
- };
-
+ fonts.packages = with pkgs; [
+ fira-code
+ fira-code-symbols
+ font-awesome
+ liberation_ttf
+ noto-fonts
+ noto-fonts-cjk
+ noto-fonts-emoji
+ (nerdfonts.override { fonts = [ "FiraCode" ]; } )
+ ];
+
services.pipewire = {
enable = true;
alsa.enable = true;
@@ -81,12 +75,12 @@
pulse.enable = true;
};
+ #Security
security.rtkit.enable = true;
+ security.polkit.enable = true;
- # List packages installed in system profile. To search, run:
- # $ nix search wget
+ #Default packages for QOL
environment.systemPackages = with pkgs; [
- arandr
binutils
clang-tools
gcc
@@ -96,26 +90,14 @@
unzip
wget
];
-
- fonts.packages = with pkgs; [
- fira-code
- fira-code-symbols
- font-awesome
- liberation_ttf
- noto-fonts
- noto-fonts-cjk
- noto-fonts-emoji
- (nerdfonts.override { fonts = [ "FiraCode" ]; } )
- ];
-
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
-
programs.neovim = {
enable = true;
defaultEditor = true;
};
+ #MPD
services.mpd = {
enable = true;
musicDirectory = "/var/mus";
@@ -131,19 +113,14 @@ audio_output {
network.listenAddress = "any";
};
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
+ #GPG
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
- # List services that you want to enable:
-
- # Enable the OpenSSH daemon.
+ #SSH
services.openssh.enable = true;
-
environment.shellInit = ''
gpg-connect-agent /bye
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
diff --git a/systems/jonbox/default.nix b/systems/jonbox/default.nix
index 16cf6a2..c894497 100644
--- a/systems/jonbox/default.nix
+++ b/systems/jonbox/default.nix
@@ -8,6 +8,7 @@
../bluetooth.nix
];
+ #Unfree-packages.
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"nvidia-x11"
@@ -15,6 +16,7 @@
"nvidia-persistenced"
];
+ #Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
@@ -23,14 +25,38 @@
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
+ #SSD-optimization
+ services.fstrim.enable = true;
+
+ #OpenGL
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
+
+ #X11 Server
+ services.xserver = {
+ enable = true;
+ layout = "us";
+ xkbVariant = "";
+ videoDrivers = [ "nvidia" ];
- services.xserver.videoDrivers = [ "nvidia" ];
+ displayManager = {
+ sddm.enable = true;
+ defaultSession = "none+awesome";
+ };
+ windowManager.awesome = {
+ enable = true;
+ luaModules = with pkgs.luaPackages; [
+ luarocks
+ luadbi-mysql
+ ];
+ };
+ };
+
+ #NVidia
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
@@ -40,8 +66,14 @@
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
- services.fstrim.enable = true;
- nix.settings.auto-optimize-store = true;
+ #Virtualization
+ virtualisation.libvirtd.enable = true;
+ programs.dconf.enable = true;
+ environment.systemPackages = with pkgs; [
+ virt-manager
+ libguestfs
+ guestfs-tools
+ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
diff --git a/users/jon.nix b/users/jon.nix
index da8c84e..92c4bd1 100644
--- a/users/jon.nix
+++ b/users/jon.nix
@@ -7,6 +7,7 @@
"networkmanager"
"wheel"
"video"
+ "libvirtd"
];
packages = with pkgs; [];
};