Add neovim nightly, fix hyprland/waybar workspace ordering

This commit is contained in:
Evie Litherland-Smith 2023-06-30 10:50:35 +01:00
parent 7539e4677c
commit d1f0906fbb
6 changed files with 252 additions and 79 deletions

View file

@ -1,13 +1,16 @@
.PHONY: default test build lock .PHONY: default debug test switch lock
default: default:
sudo nixos-rebuild switch --flake . sudo nixos-rebuild build --flake .
debug:
sudo nixos-rebuild build --flake . --show-trace
test: test:
sudo nixos-rebuild test --flake . sudo nixos-rebuild test --flake .
build: switch:
sudo nixos-rebuild build --flake . sudo nixos-rebuild switch --flake .
lock: lock:
nix flake lock --update-input nixpkgs --update-input home-manager nix flake lock --update-input nixpkgs --update-input home-manager

View file

@ -1,15 +1,92 @@
{ {
"nodes": { "nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1687762428,
"narHash": "sha256-DIf7mi45PKo+s8dOYF+UlXHzE0Wl/+k3tXUyAoAnoGE=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "37dd7bb15791c86d55c5121740a1887ab55ee836",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1685662779,
"narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"neovim-nightly-overlay",
"hercules-ci-effects",
"hercules-ci-agent",
"nixpkgs"
]
},
"locked": {
"lastModified": 1685662779,
"narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1681202837, "lastModified": 1685518550,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401", "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -18,6 +95,64 @@
"type": "github" "type": "github"
} }
}, },
"haskell-flake": {
"locked": {
"lastModified": 1684780604,
"narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=",
"owner": "srid",
"repo": "haskell-flake",
"rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2",
"type": "github"
},
"original": {
"owner": "srid",
"ref": "0.3.0",
"repo": "haskell-flake",
"type": "github"
}
},
"hercules-ci-agent": {
"inputs": {
"flake-parts": "flake-parts_3",
"haskell-flake": "haskell-flake",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1686721748,
"narHash": "sha256-ilD6ANYID+b0/+GTFbuZXfmu92bqVqY5ITKXSxqIp5A=",
"owner": "hercules-ci",
"repo": "hercules-ci-agent",
"rev": "7192b83935ab292a8e894db590dfd44f976e183b",
"type": "github"
},
"original": {
"id": "hercules-ci-agent",
"type": "indirect"
}
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": "flake-parts_2",
"hercules-ci-agent": "hercules-ci-agent",
"nixpkgs": [
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1686830987,
"narHash": "sha256-1XLTM0lFr3NV+0rd55SQW/8oQ3ACnqlYcda3FelIwHU=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "04e4ab63b9eed2452edee1bb698827e1cb8265c6",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -82,29 +217,89 @@
"type": "github" "type": "github"
} }
}, },
"newm": { "neovim-flake": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": [ "nixpkgs": [
"neovim-nightly-overlay",
"nixpkgs" "nixpkgs"
], ]
"pywmpkg": "pywmpkg"
}, },
"locked": { "locked": {
"lastModified": 1685880078, "dir": "contrib",
"narHash": "sha256-tvaeY5DjzgfXFtOzpEZqUziaixInJXgJk6MK0ExQG/I=", "lastModified": 1688073254,
"owner": "~atha", "narHash": "sha256-G7Mj+X8YwDr+PXUQ+j9N2zXRvBUk3xv87m85QJarM54=",
"repo": "newm-atha", "owner": "neovim",
"rev": "9c075588b7486df885eb85fbf2861498bedbdd39", "repo": "neovim",
"type": "sourcehut" "rev": "8758c6fb875ff5446c0dff2166e9c3392c2c31d6",
"type": "github"
}, },
"original": { "original": {
"owner": "~atha", "dir": "contrib",
"repo": "newm-atha", "owner": "neovim",
"type": "sourcehut" "repo": "neovim",
"type": "github"
}
},
"neovim-nightly-overlay": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"hercules-ci-effects": "hercules-ci-effects",
"neovim-flake": "neovim-flake",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1688083519,
"narHash": "sha256-KniAn96jd/RMlxvjSWEdmBH1ul21Covn9d2uXVVQtGI=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "a43c3d96d868c70e46c6d4e4f0d4bf08e4759e11",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1686501370,
"narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1685564631,
"narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1687681650, "lastModified": 1687681650,
"narHash": "sha256-M2If+gRcfpmaJy/XbfSsRzLlPpoU4nr0NHnKKl50fd8=", "narHash": "sha256-M2If+gRcfpmaJy/XbfSsRzLlPpoU4nr0NHnKKl50fd8=",
@ -120,37 +315,12 @@
"type": "github" "type": "github"
} }
}, },
"pywmpkg": {
"inputs": {
"flake-utils": [
"newm",
"flake-utils"
],
"nixpkgs": [
"newm",
"nixpkgs"
]
},
"locked": {
"lastModified": 1683389971,
"narHash": "sha256-HI4jkvH+CCxSTDFcJ0R69tV7dD34NMFklGFDStU3uHo=",
"owner": "~atha",
"repo": "pywm-atha",
"rev": "4bfa3c75ba6678aeed8b3b33b2c4f43453d4319a",
"type": "sourcehut"
},
"original": {
"owner": "~atha",
"repo": "pywm-atha",
"type": "sourcehut"
}
},
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"newm": "newm", "neovim-nightly-overlay": "neovim-nightly-overlay",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs_2",
"wallpapers": "wallpapers" "wallpapers": "wallpapers"
} }
}, },

View file

@ -11,11 +11,11 @@
url = "github:hyprwm/Hyprland"; url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
newm = { wallpapers.url = "git+https://git.xenia.me.uk/xenia/wallpapers.git";
url = "sourcehut:~atha/newm-atha"; neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
wallpapers.url = "git+https://git.xenia.me.uk/xenia/wallpapers.git";
}; };
outputs = { outputs = {
@ -23,6 +23,7 @@
home-manager, home-manager,
hyprland, hyprland,
wallpapers, wallpapers,
neovim-nightly-overlay,
... ...
}: let }: let
home-config = { home-config = {
@ -113,7 +114,11 @@
}; };
}; };
}; };
waybar-experimental = final: prev: {waybar = prev.waybar.overrideAttrs (oldAttrs: {mesonFlags = oldAttrs.mesonFlags ++ ["-Dexperimental=true"];});}; waybar-experimental-overlay = final: prev: {
waybar = prev.waybar.overrideAttrs (old: {
mesonFlags = old.mesonFlags ++ ["-Dexperimental=true"];
});
};
in { in {
nixosConfigurations = { nixosConfigurations = {
Legion = nixpkgs.lib.nixosSystem { Legion = nixpkgs.lib.nixosSystem {
@ -141,7 +146,7 @@
pkgs = import nixpkgs { pkgs = import nixpkgs {
system = "x86_64-linux"; system = "x86_64-linux";
config.allowUnfree = true; config.allowUnfree = true;
overlays = [waybar-experimental]; overlays = [neovim-nightly-overlay.overlay];
}; };
modules = [ modules = [
home-config home-config
@ -149,7 +154,7 @@
./hosts/Vanguard ./hosts/Vanguard
./services/sshd ./services/sshd
./services/syncthing/Vanguard.nix ./services/syncthing/Vanguard.nix
{ ({pkgs, ...}: {
home-manager.users.xenia = { home-manager.users.xenia = {
imports = [./home/personal.nix]; imports = [./home/personal.nix];
home = { home = {
@ -157,15 +162,16 @@
homeDirectory = "/home/xenia"; homeDirectory = "/home/xenia";
stateVersion = "22.11"; stateVersion = "22.11";
}; };
programs.neovim.package = pkgs.neovim-nightly;
}; };
} })
]; ];
}; };
Ronin = nixpkgs.lib.nixosSystem { Ronin = nixpkgs.lib.nixosSystem {
pkgs = import nixpkgs { pkgs = import nixpkgs {
system = "x86_64-linux"; system = "x86_64-linux";
config.allowUnfree = true; config.allowUnfree = true;
overlays = [waybar-experimental]; overlays = [waybar-experimental-overlay neovim-nightly-overlay.overlay];
}; };
modules = [ modules = [
home-config home-config
@ -187,6 +193,7 @@
stateVersion = "22.11"; stateVersion = "22.11";
packages = [laptop-state]; packages = [laptop-state];
}; };
programs.neovim.package = pkgs.neovim-nightly;
wayland.windowManager.hyprland.extraConfig = '' wayland.windowManager.hyprland.extraConfig = ''
source=./common.conf source=./common.conf
bindl=,switch:Lid Switch,exec,check-laptop-lid-state bindl=,switch:Lid Switch,exec,check-laptop-lid-state
@ -194,7 +201,6 @@
monitor = DP-3,1920x1200,1920x0,1.0 monitor = DP-3,1920x1200,1920x0,1.0
monitor = DP-4,1920x1080,3840x0,1.0,transform,1 monitor = DP-4,1920x1080,3840x0,1.0,transform,1
workspace = name:remote
windowrule = workspace name:chat, teams-for-linux windowrule = workspace name:chat, teams-for-linux
windowrule = workspace name:remote, Nxplayer.* windowrule = workspace name:remote, Nxplayer.*
bind = ALT, R, moveworkspacetomonitor, name:remote current bind = ALT, R, moveworkspacetomonitor, name:remote current
@ -205,18 +211,10 @@
programs.waybar.settings = { programs.waybar.settings = {
main = { main = {
"output" = "!DP-4"; "output" = "!DP-4";
"wlr/workspaces"."format-icons"."remote" = "󰢹"; "wlr/workspaces" = {
}; "format-icons"."remote" = "󰢹";
alt = { "persistent_workspaces"."remote" = [];
"include" = [ };
"~/.config/waybar/modules.json"
"~/.config/waybar/layout.json"
];
"output" = "DP-4";
"wlr/workspaces"."format-icons"."remote" = "󰢹";
"modules-left" = [];
"modules-center" = ["wlr/workspaces"];
"modules-right" = [];
}; };
}; };
}; };

View file

@ -169,8 +169,7 @@
"wlr/workspaces": { "wlr/workspaces": {
"on-click": "activate", "on-click": "activate",
"disable-scroll": true, "disable-scroll": true,
"all-outputs": false, "all-outputs": true,
"sort-by-number": true,
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
"dev": "󰅴", "dev": "󰅴",
@ -180,6 +179,14 @@
"urgent": "", "urgent": "",
"default": "" "default": ""
}, },
"sort-by-number": true "persistent_workspaces": {
}, "dev": [],
"browser": [],
"files": [],
"chat": []
},
"sort-by-name": false,
"sort-by-coordinates": false,
"sort-by-number": false
}
} }

View file

@ -107,11 +107,6 @@
bind = ALT SHIFT, K, movewindow, u bind = ALT SHIFT, K, movewindow, u
bind = ALT SHIFT, J, movewindow, d bind = ALT SHIFT, J, movewindow, d
workspace = name:dev
workspace = name:browser
workspace = name:files
workspace = name:chat
windowrule = workspace name:browser, firefox windowrule = workspace name:browser, firefox
windowrule = workspace name:files, thunar windowrule = workspace name:files, thunar
windowrule = workspace name:files, libreoffice.* windowrule = workspace name:files, libreoffice.*
@ -140,8 +135,8 @@
bind = ALT SHIFT, C, moveworkspacetomonitor, name:chat current bind = ALT SHIFT, C, moveworkspacetomonitor, name:chat current
bind = ALT SHIFT, C, movetoworkspace, name:chat bind = ALT SHIFT, C, movetoworkspace, name:chat
bind = ALT, period, workspace, m+1 bind = ALT, period, workspace, e+1
bind = ALT, comma, workspace, m-1 bind = ALT, comma, workspace, e-1
bind = ALT, bracketright, focusmonitor, +1 bind = ALT, bracketright, focusmonitor, +1
bind = ALT, bracketleft, focusmonitor, +1 bind = ALT, bracketleft, focusmonitor, +1

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [./firefox.nix ./wezterm.nix]; imports = [./firefox.nix ./wezterm.nix];
home.packages = with pkgs; [bitwarden otpclient signal-desktop fractal]; home.packages = with pkgs; [neovide bitwarden otpclient signal-desktop fractal];
} }