Compare commits

...

4 commits

Author SHA1 Message Date
f449490474 Use the latest kernel 2023-12-22 00:54:40 +01:00
0f06442b40 Fix the nixos-rebuild script so it doesn't build the config from /etc/nixos 2023-12-22 00:54:32 +01:00
e0441d161b add vm helper script
this script builds and launches vm with configuration,
and removes the img after closing vm

note that you shulre remove from configuration.nix device specific entries (like hdds, network adapters)
2023-12-22 00:54:10 +01:00
d83ca31207 Gnome: use dconf and add alot of default values 2023-12-14 03:42:42 +01:00
5 changed files with 152 additions and 7 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
device-configuration.nix
hardware-configuration.nix
result
*.qcow2

View file

@ -28,6 +28,9 @@
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Enable networking

View file

@ -4,7 +4,7 @@ let
unstable = import <nixos-unstable> {};
in
{
config = {
config = rec {
services.xserver.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.xserver.displayManager.gdm = {
@ -15,10 +15,151 @@ in
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
services.xserver.desktopManager.gnome.extraGSettingsOverrides = ''
[org.gnome.SessionManager]
logout-prompt=false
'';
programs.dconf.profiles.user.databases = [{
settings = with lib.gvariant; {
"org/gnome/desktop/interface" = {
clock-show-date=true;
clock-show-seconds=true;
clock-show-weekday=true;
color-scheme="prefer-dark";
};
"org/gnome/desktop/media-handling" = {
automount=false;
};
"org/gnome/desktop/peripherals/mouse" = {
accel-profile="flat";
};
"org/gnome/desktop/sound" = {
allow-volume-above-100-percent=true;
};
"org/gnome/mutter" = {
dynamic-workspaces=true;
workspaces-only-on-primary=true;
};
"org/gnome/SessionManager" = {
logout-prompt=false;
};
"org/gnome/settings-daemon/plugins/power" = {
power-button-action="notning";
sleep-inactive-ac-type="nothing";
};
"org/gnome/shell" = {
enabled-extensions=[
"drive-menu@gnome-shell-extensions.gcampax.github.com"
"pop-shell@system76.com"
"workspace-indicator@gnome-shell-extensions.gcampax.github.com"
"Vitals@CoreCoding.com"
"trayIconsReloaded@selfmade.pl"
"places-menu@gnome-shell-extensions.gcampax.github.com"
"apps-menu@gnome-shell-extensions.gcampax.github.com"
"top-bar-organizer@julian.gse.jsts.xyz"
"color-picker@tuberry"
];
};
"org/gnome/shell/app-switcher" = {
current-workspace-only=false;
};
"org/gnome/shell/extensions/color-picker" = {
color-picker-shortcut=["<Super><Alt>c"];
enable-shortcut=true;
enable-systray=false;
menu-key="";
notify-style=mkUint32 1;
preview-style=mkUint32 0;
};
"org/gnome/shell/extensions/pop-shell" = {
active-hint=true;
active-hint-border-radius=mkUint32 1;
gap-inner=mkUint32 2;
gap-outer=mkUint32 1;
show-skip-taskbar=true;
show-title=true;
smart-gaps=false;
snap-to-grid=false;
tile-by-default=true;
};
"org/gnome/shell/extensions/top-bar-organizer" = {
center-box-order=["dateMenu"];
left-box-order=["activities" "apps-menu" "places-menu" "vitalsMenu"];
right-box-order=["TrayIconsReloaded" "workspace-indicator" "pop-shell" "color-picker@tuberry" "drive-menu" "screenRecording" "screenSharing" "dwellClick" "a11y" "keyboard" "quickSettings"];
};
"org/gnome/shell/extensions/trayIconsReloaded" = {
icon-brightness=mkInt32 0;
icon-contrast=mkInt32 0;
icon-margin-horizontal=mkInt32 0;
icon-margin-vertical=mkInt32 0;
icon-padding-horizontal=mkInt32 4;
icon-padding-vertical=mkInt32 0;
icon-saturation=mkInt32 0;
icon-size=mkInt32 16;
icons-limit=mkInt32 5;
invoke-to-workspace=true;
position-weight=mkInt32 0;
tray-margin-left=mkInt32 0;
tray-margin-right=mkInt32 0;
};
"org/gnome/shell/extensions/vitals" = {
hide-icons=false;
hot-sensors=["_processor_usage_" "_memory_allocated_"];
memory-measurement=mkInt32 1;
update-time=mkInt32 2;
use-higher-precision=true;
};
"org/gnome/shell/keybindings" = {
show-screenshot-ui=["Print" "<Super><Shift>S"];
};
"org/gnome/desktop/default-applications/terminal" =
if builtins.elem pkgs.kitty config.environment.systemPackages then {
exec = "kitty";
exec-arg = "";
} else null;
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
(
if builtins.elem pkgs.kitty config.environment.systemPackages then
"org/gnome/settings-daemon/plugins/media-keys/custom-keybinding/custom0"
else null
)
];
help = mkEmptyArray "s";
screensaver = ["<Control><Super>l"];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybinding/custom0" =
if builtins.elem pkgs.kitty config.environment.systemPackages then {
binding="<Control><Alt>t";
command="kitty";
name="Terminal";
} else null;
};
}];
programs.dconf.profiles.gdm.databases = with builtins.elemAt programs.dconf.profiles.user.databases 0; [{
settings = {
"org/gnome/desktop/interface" = settings."org/gnome/desktop/interface";
"org/gnome/desktop/peripherals/mouse" = settings."org/gnome/desktop/peripherals/mouse";
"org/gnome/desktop/sound" = settings."org/gnome/desktop/sound";
"org/gnome/settings-daemon/plugins/power" = settings."org/gnome/settings-daemon/plugins/power";
"org/gnome/shell/keybindings" = settings."org/gnome/shell/keybindings";
};
}];
environment.systemPackages = with pkgs; [
gnomeExtensions.pop-shell

View file

@ -1,2 +1 @@
NIXOS_CONFIG="$(pwd)/configuration.nix"
nixos-rebuild $@
NIXOS_CONFIG="$(pwd)/configuration.nix" nixos-rebuild $@

1
vm.sh Executable file
View file

@ -0,0 +1 @@
nix-build '<nixpkgs/nixos>' -A vm -I nixpkgs=channel:nixos-23.11 -I nixos-config=./configuration.nix && $(ls ./result/bin/run-*) && rm *.qcow2