diff --git a/common/dotfiles/neovim.nix b/common/dotfiles/neovim.nix index f91b953b..031720e8 100644 --- a/common/dotfiles/neovim.nix +++ b/common/dotfiles/neovim.nix @@ -10,7 +10,6 @@ vim-airline YouCompleteMe tabnine-vim - nerdtree rainbow # Themes @@ -82,4 +81,4 @@ colorscheme tokyonight-night ''; }; -} \ No newline at end of file +} diff --git a/desktops/gnome.nix b/desktops/gnome.nix index 34b4ec69..58c186ec 100644 --- a/desktops/gnome.nix +++ b/desktops/gnome.nix @@ -1,6 +1,6 @@ -{ config, master, ... }: { - # Use "master" instead of "pkgs" to get the latest packages, defined in "flake.nix" - services.xserver = with master.pkgs; { +{ config, unstable, ... }: { + # Use "unstable" instead of "pkgs" to get the latest packages, defined in "flake.nix" + services.xserver = with unstable.pkgs; { # https://nixos.org/manual/nixos/stable/index.html#chap-gnome # Enable the GNOME Desktop Environment. displayManager.gdm.enable = true; @@ -15,7 +15,7 @@ # https://nixos.wiki/wiki/GNOME # Remove unwanted packages - environment.gnome.excludePackages = (with master.pkgs; [ + environment.gnome.excludePackages = (with unstable.pkgs; [ gnome.cheese gnome.gnome-music gnome.epiphany @@ -33,7 +33,7 @@ gnome.simple-scan ]); - environment.systemPackages = with master.pkgs; [ + environment.systemPackages = with unstable.pkgs; [ # Gnome Extensions gnomeExtensions.tiling-assistant gnomeExtensions.dash-to-dock @@ -53,10 +53,10 @@ # Gnome Themes ./gnome/themes/gruvbox.nix ./gnome/themes/tokyo-night.nix - ./gnome/themes/nordic.nix - ./gnome/themes/vimix.nix + # ./gnome/themes/nordic.nix + # ./gnome/themes/vimix.nix ./gnome/themes/fluent.nix ]; # Idea... Move these to a separate file and tie it into dconf # sections that load the theme automatically when I want it. -} \ No newline at end of file +} diff --git a/flake.lock b/flake.lock index 86180ed9..8c3c5b3b 100644 --- a/flake.lock +++ b/flake.lock @@ -80,7 +80,7 @@ "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs" + "stable-nixpkgs" ] }, "locked": { @@ -104,7 +104,7 @@ "flake-parts": "flake-parts", "flake-utils": "flake-utils", "nixpkgs": [ - "nixpkgs" + "stable-nixpkgs" ], "pre-commit-hooks-nix": "pre-commit-hooks-nix" }, @@ -122,6 +122,21 @@ "type": "github" } }, + "master-nixpkgs": { + "locked": { + "lastModified": 1688295725, + "narHash": "sha256-26bkoN3iHEKwvBojQKBAIjnzBpxVYTkgHz5lCFMB9y0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0e7a61c903290abde9503d5976b1d299d9329327", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "master", + "type": "indirect" + } + }, "moz_overlay": { "locked": { "lastModified": 1687771476, @@ -139,17 +154,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 1688109178, - "narHash": "sha256-BSdeYp331G4b1yc7GIRgAnfUyaktW2nl7k0C577Tttk=", + "lastModified": 1688188316, + "narHash": "sha256-CXuQllDKCxtZaB/umnZOvoJ/d4kJguYgffeTA9l1B3o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b72aa95f7f096382bff3aea5f8fde645bca07422", + "rev": "8277b539d371bf4308fc5097911aa58bfac1794f", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-23.05", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { @@ -168,6 +184,37 @@ "type": "github" } }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1688256355, + "narHash": "sha256-/E+OSabu4ii5+ccWff2k4vxDsXYhpc4hwnm0s6JOz7Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f553c016a31277246f8d3724d3b1eee5e8c0842c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nur": { + "locked": { + "lastModified": 1688272984, + "narHash": "sha256-RzQzZ4msqK2ECgJn0fqgujhoPJvAy8LsbGfv3KByf1U=", + "owner": "nix-community", + "repo": "NUR", + "rev": "c2acdb273bef64edc5f786c53381f736690b6fbf", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ @@ -203,8 +250,46 @@ "inputs": { "home-manager": "home-manager", "lanzaboote": "lanzaboote", + "master-nixpkgs": "master-nixpkgs", "moz_overlay": "moz_overlay", - "nixpkgs": "nixpkgs" + "nur": "nur", + "sops-nix": "sops-nix", + "stable-nixpkgs": "stable-nixpkgs", + "unstable-nixpkgs": "unstable-nixpkgs" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "locked": { + "lastModified": 1688268466, + "narHash": "sha256-fArazqgYyEFiNcqa136zVYXihuqzRHNOOeVICayU2Yg=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "5ed3c22c1fa0515e037e36956a67fe7e32c92957", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, + "stable-nixpkgs": { + "locked": { + "lastModified": 1688109178, + "narHash": "sha256-BSdeYp331G4b1yc7GIRgAnfUyaktW2nl7k0C577Tttk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b72aa95f7f096382bff3aea5f8fde645bca07422", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-23.05", + "type": "indirect" } }, "systems": { @@ -221,6 +306,21 @@ "repo": "default", "type": "github" } + }, + "unstable-nixpkgs": { + "locked": { + "lastModified": 1688231357, + "narHash": "sha256-ZOn16X5jZ6X5ror58gOJAxPfFLAQhZJ6nOUeS4tfFwo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "645ff62e09d294a30de823cb568e9c6d68e92606", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 00af29ea..091162fb 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,6 @@ # NixOS packages stable-nixpkgs.url = "nixpkgs/nixos-23.05"; unstable-nixpkgs.url = "nixpkgs/nixos-unstable"; - master-nixpkgs.url = "nixpkgs/master"; # Manage dotfiles in a home directory home-manager.url = "github:nix-community/home-manager/release-23.05"; @@ -29,7 +28,7 @@ }; - outputs = { stable-nixpkgs, master-nixpkgs, unstable-nixpkgs, home-manager, lanzaboote, moz_overlay, nur, sops-nix, ... }@inputs: + outputs = { stable-nixpkgs, unstable-nixpkgs, home-manager, lanzaboote, moz_overlay, nur, sops-nix, ... }@inputs: let # Variables - Remember to set these hostname = "nixos-laptop"; @@ -45,11 +44,6 @@ config = { allowUnfree = true; }; }; - master = import master-nixpkgs { - inherit system; - config = { allowUnfree = true; }; - }; - lib = stable-nixpkgs.lib; in { # NixOS Configuration files: diff --git a/users/albert/dconf.nix b/users/albert/dconf.nix index 22e62cd5..0563be19 100644 --- a/users/albert/dconf.nix +++ b/users/albert/dconf.nix @@ -1,12 +1,21 @@ # Generated via dconf2nix: https://github.com/gvolpe/dconf2nix { lib, ... }: - # dconf settings: - # https://github.com/gvolpe/dconf2nix + with lib.hm.gvariant; { dconf.settings = { + "apps/seahorse/listing" = { + keyrings-selected = [ "openssh:///home/albert/.ssh" ]; + }; + + "apps/seahorse/windows/key-manager" = { + height = 476; + width = 600; + }; + "org/gnome/Console" = { + last-window-size = mkTuple [ 824 754 ]; theme = "dark"; }; @@ -28,6 +37,15 @@ with lib.hm.gvariant; size = mkTuple [ 870 690 ]; }; + "org/gnome/control-center" = { + last-panel = "display"; + window-state = mkTuple [ 980 640 ]; + }; + + "org/gnome/desktop/app-folders" = { + folder-children = [ "Utilities" "YaST" ]; + }; + "org/gnome/desktop/app-folders/folders/Utilities" = { apps = [ "gnome-abrt.desktop" "gnome-system-log.desktop" "nm-connection-editor.desktop" "org.gnome.baobab.desktop" "org.gnome.Connections.desktop" "org.gnome.DejaDup.desktop" "org.gnome.Dictionary.desktop" "org.gnome.DiskUtility.desktop" "org.gnome.eog.desktop" "org.gnome.Evince.desktop" "org.gnome.FileRoller.desktop" "org.gnome.fonts.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.tweaks.desktop" "org.gnome.Usage.desktop" "vinagre.desktop" ]; categories = [ "X-GNOME-Utilities" ]; @@ -50,15 +68,24 @@ with lib.hm.gvariant; secondary-color = "#2f302f"; }; + "org/gnome/desktop/calendar" = { + show-weekdate = false; + }; + "org/gnome/desktop/input-sources" = { sources = [ (mkTuple [ "xkb" "us" ]) ]; xkb-options = [ "terminate:ctrl_alt_bksp" ]; }; "org/gnome/desktop/interface" = { + clock-show-date = true; + clock-show-weekday = false; color-scheme = "prefer-dark"; + cursor-theme = "Adwaita"; font-antialiasing = "grayscale"; font-hinting = "slight"; + gtk-theme = "vimix-dark-doder"; + icon-theme = "Vimix-Doder-dark"; }; "org/gnome/desktop/notifications" = { @@ -86,17 +113,25 @@ with lib.hm.gvariant; "org/gnome/desktop/screensaver" = { color-shading-type = "solid"; picture-options = "zoom"; - # picture-uri = "file:///nix/store/4x0rqlvhvrzkbdigdr9mrgrb40cb52df-simple-blue-2016-02-19/share/backgrounds/nixos/nix-wallpaper-simple-blue.png"; primary-color = "#3a4ba0"; secondary-color = "#2f302f"; }; + "org/gnome/desktop/wm/keybindings" = { + maximize = []; + unmaximize = []; + }; + "org/gnome/desktop/wm/preferences" = { button-layout = "appmenu:minimize,maximize,close"; }; + "org/gnome/evolution-data-server" = { + migrated = true; + }; + "org/gnome/gnome-system-monitor" = { - # cpu-colors = [ (mkTuple [ mkUint32 0 "#e6194B" ]) (mkTuple [ 1 "#f58231" ]) (mkTuple [ 2 "#ffe119" ]) (mkTuple [ 3 "#bfef45" ]) (mkTuple [ 4 "#3cb44b" ]) (mkTuple [ 5 "#42d4f4" ]) (mkTuple [ 6 "#4363d8" ]) (mkTuple [ 7 "#911eb4" ]) (mkTuple [ 8 "#f032e6" ]) (mkTuple [ 9 "#fabebe" ]) (mkTuple [ 10 "#ffd8b1" ]) (mkTuple [ 11 "#fffac8" ]) (mkTuple [ 12 "#aaffc3" ]) (mkTuple [ 13 "#469990" ]) (mkTuple [ 14 "#000075" ]) (mkTuple [ 15 "#e6beff" ]) (mkTuple [ 16 "#d4867999f332" ]) (mkTuple [ 17 "#7999f332b10b" ]) (mkTuple [ 18 "#f3328d907999" ]) (mkTuple [ 19 "#7999891df332" ]) ]; + cpu-colors = [ (mkTuple [ mkUint32 0 "#e6194B" ]) (mkTuple [ 1 "#f58231" ]) (mkTuple [ 2 "#ffe119" ]) (mkTuple [ 3 "#bfef45" ]) (mkTuple [ 4 "#3cb44b" ]) (mkTuple [ 5 "#42d4f4" ]) (mkTuple [ 6 "#4363d8" ]) (mkTuple [ 7 "#911eb4" ]) (mkTuple [ 8 "#f032e6" ]) (mkTuple [ 9 "#fabebe" ]) (mkTuple [ 10 "#ffd8b1" ]) (mkTuple [ 11 "#fffac8" ]) (mkTuple [ 12 "#aaffc3" ]) (mkTuple [ 13 "#469990" ]) (mkTuple [ 14 "#000075" ]) (mkTuple [ 15 "#e6beff" ]) (mkTuple [ 16 "#d4867999f332" ]) (mkTuple [ 17 "#7999f332b10b" ]) (mkTuple [ 18 "#f3328d907999" ]) (mkTuple [ 19 "#7999891df332" ]) ]; current-tab = "disks"; maximized = false; network-total-in-bits = false; @@ -120,19 +155,32 @@ with lib.hm.gvariant; }; "org/gnome/nautilus/preferences" = { + default-folder-viewer = "icon-view"; migrated-gtk-settings = true; + search-filter-time-type = "last_modified"; + }; + + "org/gnome/nautilus/window-state" = { + initial-size = mkTuple [ 986 674 ]; + }; + + "org/gnome/photos" = { + window-maximized = true; }; "org/gnome/settings-daemon/plugins/color" = { night-light-enabled = true; + night-light-temperature = mkUint32 3418; }; "org/gnome/shell" = { app-picker-layout = "[{'org.gnome.Extensions.desktop': <{'position': <0>}>, 'htop.desktop': <{'position': <1>}>, 'nixos-manual.desktop': <{'position': <2>}>, 'nvidia-settings.desktop': <{'position': <3>}>, 'vlc.desktop': <{'position': <4>}>, 'xterm.desktop': <{'position': <5>}>, 'org.gnome.Settings.desktop': <{'position': <6>}>, 'org.gnome.Calculator.desktop': <{'position': <7>}>, 'org.gnome.clocks.desktop': <{'position': <8>}>, 'org.gnome.Contacts.desktop': <{'position': <9>}>, 'simple-scan.desktop': <{'position': <10>}>, 'yelp.desktop': <{'position': <11>}>, 'org.gnome.Calendar.desktop': <{'position': <12>}>, 'gnome-system-monitor.desktop': <{'position': <13>}>, 'org.gnome.TextEditor.desktop': <{'position': <14>}>, 'Utilities': <{'position': <15>}>, 'org.gnome.Weather.desktop': <{'position': <16>}>, 'org.gnome.Photos.desktop': <{'position': <17>}>}]"; + command-history = [ "restart gnome-shell" "restart" "gnome-shell -r" "r" ]; + disable-user-extensions = false; disabled-extensions = [ "workspace-indicator@gnome-shell-extensions.gcampax.github.com" ]; - enabled-extensions = [ "blur-my-shell@aunetx" "caffeine@patapon.info" "dash-to-dock@micxgx.gmail.com" "user-theme@gnome-shell-extensions.gcampax.github.com" "Vitals@CoreCoding.com" "tiling-assistant@leleat-on-github" ]; + enabled-extensions = [ "blur-my-shell@aunetx" "caffeine@patapon.info" "dash-to-dock@micxgx.gmail.com" "user-theme@gnome-shell-extensions.gcampax.github.com" "Vitals@CoreCoding.com" "tiling-assistant@leleat-on-github" "hibernate-status@dromi" "nightthemeswitcher@romainvigier.fr" ]; favorite-apps = [ "org.gnome.Nautilus.desktop" "firefox.desktop" "org.gnome.Console.desktop" "bitwarden.desktop" "steam.desktop" "net.lutris.Lutris.desktop" ]; - # welcome-dialog-last-shown-version = "44.2"; + welcome-dialog-last-shown-version = "44.2"; }; "org/gnome/shell/extensions/caffeine" = { @@ -150,9 +198,6 @@ with lib.hm.gvariant; height-fraction = 0.9; icon-size-fixed = false; isolate-workspaces = false; - # Will change based on which computer I'm on - # preferred-monitor = -2; - # preferred-monitor-by-connector = "eDP-1"; show-icons-emblems = true; show-icons-notifications-counter = true; show-show-apps-button = false; @@ -160,6 +205,34 @@ with lib.hm.gvariant; transparency-mode = "FIXED"; }; + "org/gnome/shell/extensions/nightthemeswitcher/cursor-variants" = { + enabled = false; + }; + + "org/gnome/shell/extensions/nightthemeswitcher/gtk-variants" = { + day = "vimix-doder"; + enabled = true; + night = "vimix-dark-doder"; + }; + + "org/gnome/shell/extensions/nightthemeswitcher/icon-variants" = { + day = "Vimix-Doder"; + enabled = true; + night = "Vimix-Doder-dark"; + }; + + "org/gnome/shell/extensions/nightthemeswitcher/shell-variants" = { + day = "vimix-doder"; + enabled = true; + night = "vimix-dark-doder"; + }; + + "org/gnome/shell/extensions/nightthemeswitcher/time" = { + manual-schedule = true; + nightthemeswitcher-ondemand-keybinding = [ "t" ]; + sunset = 20.0; + }; + "org/gnome/shell/extensions/tiling-assistant" = { activate-layout0 = []; activate-layout1 = []; @@ -175,8 +248,8 @@ with lib.hm.gvariant; dynamic-keybinding-behavior = 0; enable-raise-tile-group = false; import-layout-examples = false; - last-version-installed = 40; - overridden-settings = "{'org.gnome.mutter.edge-tiling': <@mb nothing>, 'org.gnome.desktop.wm.keybindings.maximize': <@mb nothing>, 'org.gnome.desktop.wm.keybindings.unmaximize': <@mb nothing>, 'org.gnome.mutter.keybindings.toggle-tiled-left': <@mb nothing>, 'org.gnome.mutter.keybindings.toggle-tiled-right': <@mb nothing>}"; + last-version-installed = 41; + overridden-settings = "{'org.gnome.mutter.edge-tiling': }"; restore-window = [ "Down" ]; search-popup-layout = []; single-screen-gap = 20; @@ -205,12 +278,9 @@ with lib.hm.gvariant; window-gap = 20; }; - # This will change depending on what computer I'm on - # "org/gnome/shell/extensions/vitals" = { - # hot-sensors = [ "_memory_usage_" "_system_load_1m_" "__network-rx_max__" "_battery_rate_" "_battery_state_" "_battery_time_left_" ]; - # show-battery = true; - # show-voltage = false; - # }; + "org/gnome/shell/extensions/user-theme" = { + name = "vimix-dark-doder"; + }; "org/gnome/shell/weather" = { automatic-location = true; @@ -218,12 +288,42 @@ with lib.hm.gvariant; }; "org/gnome/shell/world-clocks" = { - locations = "[<(uint32 2, <('Los Angeles', 'KCQT', true, [(0.59370283970450188, -2.0644336110828618)], [(0.59432360095955872, -2.063741622941031)])>)>, <(uint32 2, <('Dallas', 'KDAL', true, [(0.57338429251143708, -1.690448351049749)], [(0.57217226606568217, -1.6895950770317414)])>)>, <(uint32 2, <('Washington', 'KDCA', true, [(0.67803131976116615, -1.3444998506811625)], [(0.67884776733195662, -1.344538230471414)])>)>, <(uint32 2, <('Coordinated Universal Time (UTC)', '@UTC', false, @a(dd) [], @a(dd) [])>)>]"; + locations = "@av []"; }; "org/gnome/tweaks" = { show-extensions-notice = false; }; + "org/gtk/gtk4/settings/file-chooser" = { + date-format = "regular"; + location-mode = "path-bar"; + show-hidden = false; + show-size-column = true; + show-type-column = true; + sidebar-width = 140; + sort-column = "name"; + sort-directories-first = false; + sort-order = "ascending"; + type-format = "category"; + view-type = "list"; + window-size = mkTuple [ 859 453 ]; + }; + + "org/gtk/settings/file-chooser" = { + date-format = "regular"; + location-mode = "path-bar"; + show-hidden = false; + show-size-column = true; + show-type-column = true; + sidebar-width = 175; + sort-column = "name"; + sort-directories-first = false; + sort-order = "ascending"; + type-format = "category"; + window-position = mkTuple [ 30 26 ]; + window-size = mkTuple [ 1203 902 ]; + }; + }; }